aboutsummaryrefslogtreecommitdiffstats
path: root/core/css
diff options
context:
space:
mode:
Diffstat (limited to 'core/css')
-rw-r--r--core/css/animations.css4
-rw-r--r--core/css/animations.css.map1
-rw-r--r--core/css/animations.css.map.license2
-rw-r--r--core/css/animations.scss24
-rw-r--r--core/css/apps.css718
-rw-r--r--core/css/apps.css.map1
-rw-r--r--core/css/apps.css.map.license3
-rw-r--r--core/css/apps.scss1496
-rw-r--r--core/css/exception.css4
-rw-r--r--core/css/exception.css.map1
-rw-r--r--core/css/exception.css.map.license2
-rw-r--r--core/css/exception.scss13
-rw-r--r--core/css/fixes.css144
-rw-r--r--core/css/fixes.css.map1
-rw-r--r--core/css/fixes.css.map.license2
-rw-r--r--core/css/fixes.scss11
-rw-r--r--core/css/fonts.css23
-rw-r--r--core/css/functions.css4
-rw-r--r--core/css/functions.css.map1
-rw-r--r--core/css/functions.css.map.license2
-rw-r--r--core/css/functions.scss50
-rw-r--r--core/css/global.css56
-rw-r--r--core/css/global.css.map1
-rw-r--r--core/css/global.css.map.license4
-rw-r--r--core/css/global.scss85
-rw-r--r--core/css/guest.css8
-rw-r--r--core/css/guest.css.map1
-rw-r--r--core/css/guest.css.map.license3
-rw-r--r--core/css/guest.scss892
-rw-r--r--core/css/header.css366
-rw-r--r--core/css/header.css.map1
-rw-r--r--core/css/header.css.map.license3
-rw-r--r--core/css/header.scss256
-rw-r--r--core/css/icons.css299
-rw-r--r--core/css/icons.css.map1
-rw-r--r--core/css/icons.css.map.license2
-rw-r--r--core/css/icons.scss121
-rw-r--r--core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.pngbin157 -> 0 bytes
-rw-r--r--core/css/images/ui-bg_diagonals-thick_20_666666_40x40.pngbin157 -> 0 bytes
-rw-r--r--core/css/images/ui-bg_flat_100_ffffff_40x100.pngbin86 -> 0 bytes
-rw-r--r--core/css/images/ui-bg_flat_10_000000_40x100.pngbin86 -> 0 bytes
-rw-r--r--core/css/images/ui-bg_flat_35_1d2d44_40x100.pngbin86 -> 0 bytes
-rw-r--r--core/css/images/ui-bg_glass_100_f8f8f8_1x400.pngbin105 -> 0 bytes
-rw-r--r--core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.pngbin88 -> 0 bytes
-rw-r--r--core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.pngbin90 -> 0 bytes
-rw-r--r--core/css/images/ui-icons_1d2d44_256x240.pngbin4196 -> 0 bytes
-rw-r--r--core/css/images/ui-icons_ffd27a_256x240.pngbin4196 -> 0 bytes
-rw-r--r--core/css/images/ui-icons_ffffff_256x240.pngbin4196 -> 0 bytes
-rw-r--r--core/css/inputs.css263
-rw-r--r--core/css/inputs.css.map1
-rw-r--r--core/css/inputs.css.map.license3
-rw-r--r--core/css/inputs.scss896
-rw-r--r--core/css/jquery-ui-fixes.css138
-rw-r--r--core/css/jquery.ocdialog.css60
-rw-r--r--core/css/login/authpicker.css27
-rw-r--r--core/css/lostpassword/resetpassword.css7
-rw-r--r--core/css/mobile.css161
-rw-r--r--core/css/mobile.css.map1
-rw-r--r--core/css/mobile.css.map.license2
-rw-r--r--core/css/mobile.scss168
-rw-r--r--core/css/multiselect.css120
-rw-r--r--core/css/public.css4
-rw-r--r--core/css/public.css.map1
-rw-r--r--core/css/public.css.map.license2
-rw-r--r--core/css/public.scss108
-rw-r--r--core/css/publicshareauth.css40
-rw-r--r--core/css/server.css67
-rw-r--r--core/css/server.css.map1
-rw-r--r--core/css/server.css.map.license2
-rw-r--r--core/css/server.scss16
-rw-r--r--core/css/share.css173
-rw-r--r--core/css/styles.css970
-rw-r--r--core/css/styles.css.map1
-rw-r--r--core/css/styles.css.map.license3
-rw-r--r--core/css/styles.scss843
-rw-r--r--core/css/systemtags.css123
-rw-r--r--core/css/systemtags.css.map1
-rw-r--r--core/css/systemtags.css.map.license3
-rw-r--r--core/css/systemtags.scss79
-rw-r--r--core/css/toast.css10
-rw-r--r--core/css/toast.css.map1
-rw-r--r--core/css/toast.css.map.license2
-rw-r--r--core/css/toast.scss60
-rw-r--r--core/css/tooltip.css122
-rw-r--r--core/css/tooltip.css.map1
-rw-r--r--core/css/tooltip.css.map.license3
-rw-r--r--core/css/tooltip.scss133
-rw-r--r--core/css/variables.css4
-rw-r--r--core/css/variables.css.map1
-rw-r--r--core/css/variables.css.map.license2
-rw-r--r--core/css/variables.scss102
-rw-r--r--core/css/whatsnew.css4
-rw-r--r--core/css/whatsnew.css.map1
-rw-r--r--core/css/whatsnew.css.map.license2
-rw-r--r--core/css/whatsnew.scss28
95 files changed, 5694 insertions, 3672 deletions
diff --git a/core/css/animations.css b/core/css/animations.css
new file mode 100644
index 00000000000..02266e8c4ca
--- /dev/null
+++ b/core/css/animations.css
@@ -0,0 +1,4 @@
+/*!
+ * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}/*# sourceMappingURL=animations.css.map */
diff --git a/core/css/animations.css.map b/core/css/animations.css.map
new file mode 100644
index 00000000000..2be95d42b12
--- /dev/null
+++ b/core/css/animations.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["animations.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAIA,0BACC,KACC,+BACA,uBAED,GACC,iCACA,0BAGF,kBACC,KACC,+BACA,uBAED,GACC,iCACA","file":"animations.css"} \ No newline at end of file
diff --git a/core/css/animations.css.map.license b/core/css/animations.css.map.license
new file mode 100644
index 00000000000..bb22bd8f46a
--- /dev/null
+++ b/core/css/animations.css.map.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/animations.scss b/core/css/animations.scss
new file mode 100644
index 00000000000..c3aac5ec753
--- /dev/null
+++ b/core/css/animations.scss
@@ -0,0 +1,24 @@
+/*!
+ * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+@-webkit-keyframes rotate {
+ from {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@keyframes rotate {
+ from {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
diff --git a/core/css/apps.css b/core/css/apps.css
index de40c40dfc5..5964eb1817a 100644
--- a/core/css/apps.css
+++ b/core/css/apps.css
@@ -1,707 +1,11 @@
-/* APP STYLING -------------------------------------------------------------- */
-
-
-#app {
- height: 100%;
- width: 100%;
-}
-#app * {
- box-sizing: border-box;
-}
-
-
-
-
-
-/* APP-NAVIGATION ------------------------------------------------------------*/
-
-
-/* Navigation: folder like structure */
-#app-navigation {
- width: 250px;
- height: 100%;
- float: left;
- box-sizing: border-box;
- background-color: #fff;
- padding-bottom: 44px;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- border-right: 1px solid #eee;
-}
-#app-navigation > ul {
- position: relative;
- height: 100%;
- width: inherit;
- overflow: auto;
- box-sizing: border-box;
-}
-#app-navigation li {
- position: relative;
- width: 100%;
- box-sizing: border-box;
-}
-
-#app-navigation .active.with-menu > a,
-#app-navigation .with-counter > a {
- padding-right: 50px;
-}
-
-#app-navigation .active.with-menu.with-counter > a {
- padding-right: 90px;
-}
-
-#app-navigation .with-icon a,
-#app-navigation .app-navigation-entry-loading a {
- padding-left: 44px;
- background-size: 16px 16px;
- background-position: 14px center;
- background-repeat: no-repeat;
-}
-
-#app-navigation li > a {
- display: block;
- width: 100%;
- line-height: 44px;
- min-height: 44px;
- padding: 0 12px;
- overflow: hidden;
- box-sizing: border-box;
- white-space: nowrap;
- text-overflow: ellipsis;
- color: #000;
- opacity: .57;
-}
-#app-navigation .active,
-#app-navigation .active a,
-#app-navigation li:hover > a,
-#app-navigation li:focus > a,
-#app-navigation a:focus,
-#app-navigation .selected,
-#app-navigation .selected a {
- opacity: 1;
-}
-
-#app-navigation .collapse {
- display: none; /* hide collapse button intially */
-}
-#app-navigation .collapsible > .collapse {
- position: absolute;
- height: 44px;
- width: 44px;
- margin: 0;
- padding: 0;
- background: none; background-image: url('../img/actions/triangle-s.svg');
- background-size: 16px; background-repeat: no-repeat; background-position: center;
- border: none;
- border-radius: 0;
- outline: none !important;
- box-shadow: none;
-}
-#app-navigation .collapsible:hover > a,
-#app-navigation .collapsible:focus > a {
- background-image: none;
-}
-#app-navigation .collapsible:hover > .collapse,
-#app-navigation .collapsible:focus > .collapse {
- display: block;
-}
-
-#app-navigation .collapsible .collapse {
- -webkit-transform: rotate(-90deg);
- -ms-transform:rotate(-90deg);
- transform: rotate(-90deg);
-}
-#app-navigation .collapsible.open .collapse {
- -webkit-transform: rotate(0);
- -ms-transform:rotate(0);
- transform: rotate(0);
-}
-
-/* Second level nesting for lists */
-#app-navigation > ul ul {
- display: none;
-}
-#app-navigation > ul ul li > a {
- padding-left: 32px;
-}
-#app-navigation > .with-icon ul li > a,
-#app-navigation > .with-icon ul li.app-navigation-entry-loading > a {
- padding-left: 68px;
- background-position: 44px center;
-}
-
-#app-navigation .collapsible.open {
- background-image: linear-gradient(top, rgb(238,238,238) 0%, rgb(245,245,245) 100%);
- background-image: -webkit-linear-gradient(top, rgb(238,238,238) 0%, rgb(245,245,245) 100%);
- background-image: -ms-linear-gradient(top, rgb(238,238,238) 0%, rgb(245,245,245) 100%);
-}
-
-#app-navigation > ul .collapsible.open:hover,
-#app-navigation > ul .collapsible.open:focus {
- box-shadow: inset 0 0 3px #ddd;
-}
-
-#app-navigation > ul .collapsible.open ul {
- display: block;
-}
-
-
-/* Deleted entries with undo button */
-#app-navigation .app-navigation-entry-deleted {
- display: inline-block;
- height: 44px;
- width: 100%;
-}
-
- #app-navigation .app-navigation-entry-deleted-description {
- padding-left: 12px;
- position: relative;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- display: inline-block;
- width: 201px; /* fallback for IE8 */
- width: calc(100% - 49px);
- line-height: 44px;
- float: left;
- }
-
- #app-navigation .app-navigation-entry-deleted-button {
- margin: 0;
- height: 44px;
- width: 44px;
- line-height: 44px;
- border: 0;
- display: inline-block;
- background-color: transparent;
- opacity: .5;
- }
-
- #app-navigation .app-navigation-entry-deleted-button:hover,
- #app-navigation .app-navigation-entry-deleted-button:focus {
- opacity: 1;
- }
-
-/* counter and actions, legacy code */
-#app-navigation .utils {
- position: absolute;
- padding: 7px 7px 0 0;
- right: 0;
- top: 0;
- bottom: 0;
- font-size: 12px;
-}
- #app-navigation .utils button,
- #app-navigation .utils .counter {
- width: 44px;
- height: 44px;
- padding-top: 12px;
- }
-
-
-/* drag and drop */
-#app-navigation .drag-and-drop {
- -webkit-transition: padding-bottom 500ms ease 0s;
- transition: padding-bottom 500ms ease 0s;
- padding-bottom: 40px;
-}
-#app-navigation .error {
- color: #dd1144;
-}
-
-#app-navigation .app-navigation-separator {
- border-bottom: 1px solid #ddd;
-}
-
-/**
- * App navigation utils, buttons and counters for drop down menu
- */
-#app-navigation .app-navigation-entry-utils {
- position: absolute;
- top: 0;
- right: 0;
- z-index: 105;
-}
-
- #app-navigation .app-navigation-entry-utils ul {
- display: block !important;
- }
-
-
- #app-navigation .app-navigation-entry-utils li {
- float: left;
- width: 44px !important;
- height: 44px;
- line-height: 44px;
- }
-
- #app-navigation .active > .app-navigation-entry-utils li {
- display: inline-block;
- }
-
- #app-navigation .app-navigation-entry-utils button {
- height: 38px;
- width: 38px;
- line-height: 38px;
- float: left;
- }
-
- #app-navigation .app-navigation-entry-utils-menu-button {
- display: none;
- }
- #app-navigation .app-navigation-entry-utils-menu-button button {
- border: 0;
- opacity: .5;
- background-color: transparent;
- background-repeat: no-repeat;
- background-position: center;
- background-image: url('../img/actions/more.svg');
- }
-
- #app-navigation .app-navigation-entry-utils-menu-button:hover button,
- #app-navigation .app-navigation-entry-utils-menu-button:focus button {
- background-color: transparent;
- opacity: 1;
- }
-
- #app-navigation .app-navigation-entry-utils-counter {
- overflow: hidden;
- text-overflow: hidden;
- text-align: right;
- font-size: 9pt;
- width: 38px;
- line-height: 44px;
- padding: 0 10px;
- }
-
- #app-navigation .app-navigation-entry-utils ul,
- #app-navigation .app-navigation-entry-menu ul {
- list-style-type: none;
- }
-
-/* menu bubble / popover */
-.bubble,
-#app-navigation .app-navigation-entry-menu {
- position: absolute;
- background-color: #fff;
- color: #333;
- border-radius: 3px;
- border-top-right-radius: 0;
- z-index: 110;
- margin: -5px 14px 5px 10px;
- right: 0;
- -webkit-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
- -moz-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
- -ms-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
- -o-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
- filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
-}
-
-.ie .bubble,
-.ie #app-navigation .app-navigation-entry-menu,
-.ie .bubble:after,
-.ie #app-navigation .app-navigation-entry-menu:after,
-.edge .bubble,
-.edge #app-navigation .app-navigation-entry-menu,
-.edge .bubble:after,
-.edge #app-navigation .app-navigation-entry-menu:after {
- border: 1px solid #eee;
-}
-.ie8 .bubble {
- margin-top: 18px;
-}
-.ie8 .bubble:after {
- display: none;
-}
-/* miraculous border arrow stuff */
-.bubble:after,
-#app-navigation .app-navigation-entry-menu:after {
- bottom: 100%;
- right: 0; /* change this to adjust the arrow position */
- border: solid transparent;
- content: " ";
- height: 0;
- width: 0;
- position: absolute;
- pointer-events: none;
-}
-.bubble:after,
-#app-navigation .app-navigation-entry-menu:after {
- border-color: rgba(238, 238, 238, 0);
- border-bottom-color: #fff;
- border-width: 10px;
- margin-left: -10px;
-}
-.bubble .action {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)" !important;
- filter: alpha(opacity=50) !important;
- opacity: .5 !important;
-}
-.bubble .action:hover,
-.bubble .action:focus {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" !important;
- filter: alpha(opacity=100) !important;
- opacity: 1 !important;
-}
-
-#app-navigation .app-navigation-entry-menu {
- display: none;
-}
-
-#app-navigation .app-navigation-entry-menu.open {
- display: block;
-}
-
- /* list of options for an entry */
- #app-navigation .app-navigation-entry-menu ul {
- display: block !important;
- }
-
- #app-navigation .app-navigation-entry-menu li {
- float: left;
- width: 38px !important;
- }
-
- #app-navigation .app-navigation-entry-menu li button {
- float: right;
- width: 36px !important;
- height: 36px;
- line-height: 36px;
- border: 0;
- opacity: .5;
- background-color: transparent;
- }
-
- #app-navigation .app-navigation-entry-menu li button:hover,
- #app-navigation .app-navigation-entry-menu li button:focus {
- opacity: 1;
- background-color: transparent;
- }
-
-/* editing an entry */
-#app-navigation .app-navigation-entry-edit {
- padding-left: 5px;
- padding-right: 5px;
- display: inline-block;
- height: 39px;
- width: 100%;
-}
-
- #app-navigation .app-navigation-entry-edit input {
- border-bottom-right-radius: 0;
- border-top-right-radius: 0;
- width: 204px; /* fallback for IE8 */
- width: calc(100% - 36px);
- padding: 5px;
- margin-right: 0;
- height: 38px;
- float: left;
- border: 1px solid rgba(190,190,190,.9);
- }
-
- #app-navigation .app-navigation-entry-edit button,
- #app-navigation .app-navigation-entry-edit input[type="submit"] {
- width: 36px;
- height: 38px;
- float: left;
- }
-
- #app-navigation .app-navigation-entry-edit .icon-checkmark {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
- border-left: 0;
- margin-right: 0;
- }
-
-
-/* APP-CONTENT ---------------------------------------------------------------*/
-
-
-/* Part where the content will be loaded into */
-#app-content {
- position: relative;
- height: 100%;
- overflow-y: auto;
-}
-
-#app-content-wrapper {
- min-width: 100%;
- min-height: 100%;
-}
-
-/* APP-SIDEBAR ----------------------------------------------------------------*/
-
-/*
- Sidebar: a sidebar to be used within #app-content
- have it as first element within app-content in order to shrink other
- sibling containers properly. Compare Files app for example.
-*/
-#app-sidebar {
- position: fixed;
- top: 45px;
- right: 0;
- left: auto;
- bottom: 0;
- width: 27%;
- min-width: 300px;
- display: block;
- background: #fff;
- border-left: 1px solid #eee;
- -webkit-transition: margin-right 300ms;
- transition: margin-right 300ms;
- overflow-x: hidden;
- overflow-y: auto;
- visibility: visible;
- z-index: 500;
-}
-
-#app-content.with-app-sidebar {
- margin-right: 27%;
-}
-
-#app-sidebar.disappear {
- visibility: hidden;
-}
-
-/* APP-SETTINGS ---------------------------------------------------------------*/
-
-/* settings area */
-#app-settings {
- position: fixed;
- width: 250px; /* change to 100% when layout positions are absolute */
- bottom: 0;
- z-index: 140;
-}
-#app-settings.opened #app-settings-content {
- display: block;
-}
-#app-settings-content {
- display: none;
- padding: 10px;
- background-color: #fff;
-}
-#app-settings.open #app-settings-content {
- display: block;
- /* restrict height of settings and make scrollable */
- max-height: 300px;
- overflow-y: auto;
-}
-#app-settings-content,
-#app-settings-header {
- border-right: 1px solid #eee;
-}
-
-/* display input fields at full width */
-#app-settings-content input[type='text'] {
- width: 93%;
-}
-
-.settings-button {
- display: block;
- height: 44px;
- width: 100%;
- padding: 0;
- margin: 0;
- background-color: #fff;
- background-image: url('../img/actions/settings.svg');
- background-position: 14px center;
- background-repeat: no-repeat;
- box-shadow: none;
- border: 0;
- border-radius: 0;
- text-align: left;
- padding-left: 42px;
- font-weight: normal;
-}
-.settings-button:hover,
-.settings-button:focus {
- background-color: #fff;
-}
-.settings-button.opened:hover,
-.settings-button.opened:focus {
- background-color: #fff;
-}
-
-/* buttons */
-button.loading {
- background-image: url('../img/loading.gif');
- background-position: right 10px center; background-repeat: no-repeat;
- background-size: 16px;
- padding-right: 30px;
-}
-
-/* general styles for the content area */
-.section {
- display: block;
- padding: 30px;
- color: #555;
- margin-bottom: 24px;
-}
-.section.hidden {
- display: none !important;
-}
-.sub-section {
- position: relative;
- margin-top: 10px;
- margin-left: 27px;
- margin-bottom: 10px;
-}
-/* no top border for first settings item */
-#app-content > .section:first-child {
- border-top: none;
-}
-
-/* heading styles */
-h2 {
- font-size: 20px;
- font-weight: 300;
- margin-bottom: 12px;
-}
-h3 {
- font-size: 15px;
- font-weight: 300;
- margin: 12px 0;
-}
-
-/* slight position correction of checkboxes and radio buttons */
-.section input[type="checkbox"],
-.section input[type="radio"] {
- vertical-align: -2px;
- margin-right: 4px;
-}
-.appear {
- opacity: 1;
- transition: opacity 500ms ease 0s;
- -moz-transition: opacity 500ms ease 0s;
- -ms-transition: opacity 500ms ease 0s;
- -o-transition: opacity 500ms ease 0s;
- -webkit-transition: opacity 500ms ease 0s;
-}
-.appear.transparent {
- opacity: 0;
-}
-
-
-/* do not use italic typeface style, instead lighter color */
-em {
- font-style: normal;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
- opacity: .5;
-}
-
-/* generic dropdown style */
-.dropdown {
- background:#eee;
- border-bottom-left-radius: 5px;
- border-bottom-right-radius: 5px;
- box-shadow:0 1px 1px #777;
- display:block;
- margin-right: 0;
- position:absolute;
- right:0;
- width:420px;
- z-index:500;
- padding:16px;
-}
-
-/* generic tab styles */
-.tabHeaders {
- margin: 15px;
-}
-.tabHeaders .tabHeader {
- float: left;
- padding: 5px;
- cursor: pointer;
-}
-.tabHeaders .tabHeader, .tabHeaders .tabHeader a {
- color: #888;
-}
-.tabHeaders .tabHeader.selected {
- font-weight: 600;
-}
-.tabHeaders .tabHeader.selected,
-.tabHeaders .tabHeader:hover {
- border-bottom: 1px solid #333;
-}
-.tabHeaders .tabHeader.selected,
-.tabHeaders .tabHeader.selected a,
-.tabHeaders .tabHeader:hover,
-.tabHeaders .tabHeader:hover a {
- color: #000;
-}
-.tabsContainer {
- clear: left;
-}
-.tabsContainer .tab {
- padding: 15px;
-}
-
-/* popover menu styles (use together with "bubble" class) */
-.popovermenu .menuitem,
-.popovermenu .menuitem>span {
- cursor: pointer;
- vertical-align: middle;
-}
-
-.popovermenu .menuitem {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
- filter: alpha(opacity=50);
- opacity: .5;
-}
-
-.popovermenu .menuitem:hover,
-.popovermenu .menuitem:focus {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
- filter: alpha(opacity=100);
- opacity: 1;
-}
-
-.popovermenu {
- padding: 4px 12px;
-}
-
-.popovermenu li {
- padding: 5px 0;
-}
-
-.popovermenu .menuitem img {
- padding: initial;
-}
-
-.popovermenu a.menuitem,
-.popovermenu label.menuitem,
-.popovermenu .menuitem {
- padding: 10px;
- margin: -10px;
-}
-
-.popovermenu.hidden {
- display: none;
-}
-
-.popovermenu .menuitem {
- display: block;
- line-height: 30px;
- padding-left: 5px;
- color: #000;
- padding: 0;
-}
-
-.popovermenu .menuitem .icon,
-.popovermenu .menuitem .no-icon {
- display: inline-block;
- width: 16px;
- height: 16px;
- margin-right: 10px;
- vertical-align: middle;
-}
-
-.popovermenu .menuitem {
- opacity: 0.5;
-}
-
-.popovermenu li:hover .menuitem {
- opacity: 1;
-}
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */@media screen and (max-width: 1024px){:root{--body-container-margin: 0px !important;--body-container-radius: 0px !important}}html{width:100%;height:100%;position:absolute;background-color:var(--color-background-plain, var(--color-main-background))}body{background-color:var(--color-background-plain, var(--color-main-background));background-image:var(--image-background);background-size:cover;background-position:center;position:fixed;width:100%;height:calc(100vh - env(safe-area-inset-bottom))}h2,h3,h4,h5,h6{font-weight:600;line-height:1.5;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}h2{font-size:1.8em}h3{font-size:1.6em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}em{font-style:normal;color:var(--color-text-maxcontrast)}dl{padding:12px 0}dt,dd{display:inline-block;padding:12px;padding-inline-start:0}dt{width:130px;white-space:nowrap;text-align:end}kbd{padding:4px 10px;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:var(--border-radius);display:inline-block;white-space:nowrap}#content[class*=app-] *{box-sizing:border-box}#app-navigation:not(.vue){--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));width:300px;z-index:500;overflow-y:auto;overflow-x:hidden;background-color:var(--color-main-background-blur);backdrop-filter:var(--filter-background-blur);-webkit-backdrop-filter:var(--filter-background-blur);-webkit-user-select:none;position:sticky;height:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0}#app-navigation:not(.vue) .app-navigation-caption{font-weight:bold;line-height:var(--default-clickable-area);padding:10px var(--default-clickable-area) 0 var(--default-clickable-area);white-space:nowrap;text-overflow:ellipsis;box-shadow:none !important;user-select:none;pointer-events:none;margin-inline-start:10px}.app-navigation-personal .app-navigation-new,.app-navigation-administration .app-navigation-new{display:block;padding:calc(var(--default-grid-baseline)*2)}.app-navigation-personal .app-navigation-new button,.app-navigation-administration .app-navigation-new button{display:inline-block;width:100%;padding:10px;padding-inline-start:34px;text-align:start;margin:0}.app-navigation-personal li,.app-navigation-administration li{position:relative}.app-navigation-personal>ul,.app-navigation-administration>ul{position:relative;height:100%;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;padding:calc(var(--default-grid-baseline)*2);padding-bottom:0}.app-navigation-personal>ul:last-child,.app-navigation-administration>ul:last-child{padding-bottom:calc(var(--default-grid-baseline)*2)}.app-navigation-personal>ul>li,.app-navigation-administration>ul>li{display:inline-flex;flex-wrap:wrap;order:1;flex-shrink:0;margin:0;margin-bottom:3px;width:100%;border-radius:var(--border-radius-element)}.app-navigation-personal>ul>li.pinned,.app-navigation-administration>ul>li.pinned{order:2}.app-navigation-personal>ul>li.pinned.first-pinned,.app-navigation-administration>ul>li.pinned.first-pinned{margin-top:auto !important}.app-navigation-personal>ul>li>.app-navigation-entry-deleted,.app-navigation-administration>ul>li>.app-navigation-entry-deleted{padding-inline-start:var(--default-clickable-area) !important}.app-navigation-personal>ul>li>.app-navigation-entry-edit,.app-navigation-administration>ul>li>.app-navigation-entry-edit{padding-inline-start:calc(var(--default-clickable-area) - 6px) !important}.app-navigation-personal>ul>li a:hover,.app-navigation-personal>ul>li a:hover>a,.app-navigation-personal>ul>li a:focus,.app-navigation-personal>ul>li a:focus>a,.app-navigation-administration>ul>li a:hover,.app-navigation-administration>ul>li a:hover>a,.app-navigation-administration>ul>li a:focus,.app-navigation-administration>ul>li a:focus>a{background-color:var(--color-background-hover)}.app-navigation-personal>ul>li a:focus-visible,.app-navigation-administration>ul>li a:focus-visible{box-shadow:0 0 0 4px var(--color-main-background);outline:2px solid var(--color-main-text)}.app-navigation-personal>ul>li.active,.app-navigation-personal>ul>li.active>a,.app-navigation-personal>ul>li a:active,.app-navigation-personal>ul>li a:active>a,.app-navigation-personal>ul>li a.selected,.app-navigation-personal>ul>li a.selected>a,.app-navigation-personal>ul>li a.active,.app-navigation-personal>ul>li a.active>a,.app-navigation-administration>ul>li.active,.app-navigation-administration>ul>li.active>a,.app-navigation-administration>ul>li a:active,.app-navigation-administration>ul>li a:active>a,.app-navigation-administration>ul>li a.selected,.app-navigation-administration>ul>li a.selected>a,.app-navigation-administration>ul>li a.active,.app-navigation-administration>ul>li a.active>a{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.app-navigation-personal>ul>li.active:first-child>img,.app-navigation-personal>ul>li.active>a:first-child>img,.app-navigation-personal>ul>li a:active:first-child>img,.app-navigation-personal>ul>li a:active>a:first-child>img,.app-navigation-personal>ul>li a.selected:first-child>img,.app-navigation-personal>ul>li a.selected>a:first-child>img,.app-navigation-personal>ul>li a.active:first-child>img,.app-navigation-personal>ul>li a.active>a:first-child>img,.app-navigation-administration>ul>li.active:first-child>img,.app-navigation-administration>ul>li.active>a:first-child>img,.app-navigation-administration>ul>li a:active:first-child>img,.app-navigation-administration>ul>li a:active>a:first-child>img,.app-navigation-administration>ul>li a.selected:first-child>img,.app-navigation-administration>ul>li a.selected>a:first-child>img,.app-navigation-administration>ul>li a.active:first-child>img,.app-navigation-administration>ul>li a.active>a:first-child>img{filter:var(--primary-invert-if-dark)}.app-navigation-personal>ul>li.icon-loading-small:after,.app-navigation-administration>ul>li.icon-loading-small:after{inset-inline-start:22px;top:22px}.app-navigation-personal>ul>li.deleted>ul,.app-navigation-personal>ul>li.collapsible:not(.open)>ul,.app-navigation-administration>ul>li.deleted>ul,.app-navigation-administration>ul>li.collapsible:not(.open)>ul{display:none}.app-navigation-personal>ul>li>ul,.app-navigation-administration>ul>li>ul{flex:0 1 auto;width:100%;position:relative}.app-navigation-personal>ul>li>ul>li,.app-navigation-administration>ul>li>ul>li{display:inline-flex;flex-wrap:wrap;padding-inline-start:var(--default-clickable-area);width:100%;margin-bottom:3px}.app-navigation-personal>ul>li>ul>li:hover,.app-navigation-personal>ul>li>ul>li:hover>a,.app-navigation-personal>ul>li>ul>li:focus,.app-navigation-personal>ul>li>ul>li:focus>a,.app-navigation-administration>ul>li>ul>li:hover,.app-navigation-administration>ul>li>ul>li:hover>a,.app-navigation-administration>ul>li>ul>li:focus,.app-navigation-administration>ul>li>ul>li:focus>a{border-radius:var(--border-radius-element);background-color:var(--color-background-hover)}.app-navigation-personal>ul>li>ul>li.active,.app-navigation-personal>ul>li>ul>li.active>a,.app-navigation-personal>ul>li>ul>li a.selected,.app-navigation-personal>ul>li>ul>li a.selected>a,.app-navigation-administration>ul>li>ul>li.active,.app-navigation-administration>ul>li>ul>li.active>a,.app-navigation-administration>ul>li>ul>li a.selected,.app-navigation-administration>ul>li>ul>li a.selected>a{border-radius:var(--border-radius-element);background-color:var(--color-primary-element-light)}.app-navigation-personal>ul>li>ul>li.active:first-child>img,.app-navigation-personal>ul>li>ul>li.active>a:first-child>img,.app-navigation-personal>ul>li>ul>li a.selected:first-child>img,.app-navigation-personal>ul>li>ul>li a.selected>a:first-child>img,.app-navigation-administration>ul>li>ul>li.active:first-child>img,.app-navigation-administration>ul>li>ul>li.active>a:first-child>img,.app-navigation-administration>ul>li>ul>li a.selected:first-child>img,.app-navigation-administration>ul>li>ul>li a.selected>a:first-child>img{filter:var(--primary-invert-if-dark)}.app-navigation-personal>ul>li>ul>li.icon-loading-small:after,.app-navigation-administration>ul>li>ul>li.icon-loading-small:after{inset-inline-start:calc(var(--default-clickable-area)/2)}.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-deleted,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-deleted{margin-inline-start:4px;padding-inline-start:84px}.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-edit,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-edit{margin-inline-start:4px;padding-inline-start:calc(2*var(--default-clickable-area) - 10px) !important}.app-navigation-personal>ul>li,.app-navigation-personal>ul>li>ul>li,.app-navigation-administration>ul>li,.app-navigation-administration>ul>li>ul>li{position:relative;box-sizing:border-box}.app-navigation-personal>ul>li.icon-loading-small>a,.app-navigation-personal>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-personal>ul>li>ul>li.icon-loading-small>a,.app-navigation-personal>ul>li>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-administration>ul>li.icon-loading-small>a,.app-navigation-administration>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>ul>li.icon-loading-small>a,.app-navigation-administration>ul>li>ul>li.icon-loading-small>.app-navigation-entry-bullet{background:rgba(0,0,0,0) !important}.app-navigation-personal>ul>li>a,.app-navigation-personal>ul>li>ul>li>a,.app-navigation-administration>ul>li>a,.app-navigation-administration>ul>li>ul>li>a{background-size:16px 16px;background-repeat:no-repeat;display:block;justify-content:space-between;line-height:var(--default-clickable-area);min-height:var(--default-clickable-area);padding-block:0;padding-inline:calc(2*var(--default-grid-baseline));overflow:hidden;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;border-radius:var(--border-radius-element);color:var(--color-main-text);flex:1 1 0px;z-index:100}.app-navigation-personal>ul>li>a.svg,.app-navigation-personal>ul>li>ul>li>a.svg,.app-navigation-administration>ul>li>a.svg,.app-navigation-administration>ul>li>ul>li>a.svg{padding-block:0;padding-inline:var(--default-clickable-area) 12px}.app-navigation-personal>ul>li>a.svg :focus-visible,.app-navigation-personal>ul>li>ul>li>a.svg :focus-visible,.app-navigation-administration>ul>li>a.svg :focus-visible,.app-navigation-administration>ul>li>ul>li>a.svg :focus-visible{padding-block:0;padding-inline:calc(var(--default-clickable-area) - 2px) 8px}.app-navigation-personal>ul>li>a:first-child img,.app-navigation-personal>ul>li>ul>li>a:first-child img,.app-navigation-administration>ul>li>a:first-child img,.app-navigation-administration>ul>li>ul>li>a:first-child img{margin-inline-end:calc(2*var(--default-grid-baseline)) !important;width:16px;height:16px;filter:var(--background-invert-if-dark)}.app-navigation-personal>ul>li>a>.app-navigation-entry-utils,.app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,.app-navigation-administration>ul>li>a>.app-navigation-entry-utils,.app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{display:inline-block}.app-navigation-personal>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter{padding-inline-end:0 !important}.app-navigation-personal>ul>li>.app-navigation-entry-bullet,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-bullet{position:absolute;display:block;margin:16px;width:12px;height:12px;border:none;border-radius:50%;cursor:pointer;transition:background 100ms ease-in-out}.app-navigation-personal>ul>li>.app-navigation-entry-bullet+a,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-bullet+a,.app-navigation-administration>ul>li>.app-navigation-entry-bullet+a,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-bullet+a{background:rgba(0,0,0,0) !important}.app-navigation-personal>ul>li>.app-navigation-entry-menu,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-menu,.app-navigation-administration>ul>li>.app-navigation-entry-menu,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-menu{top:var(--default-clickable-area)}.app-navigation-personal>ul>li.editing .app-navigation-entry-edit,.app-navigation-personal>ul>li>ul>li.editing .app-navigation-entry-edit,.app-navigation-administration>ul>li.editing .app-navigation-entry-edit,.app-navigation-administration>ul>li>ul>li.editing .app-navigation-entry-edit{opacity:1;z-index:250}.app-navigation-personal>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-personal>ul>li>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-administration>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-administration>ul>li>ul>li.deleted .app-navigation-entry-deleted{transform:translateX(0);z-index:250}.app-navigation-personal.hidden,.app-navigation-administration.hidden{display:none}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button{border:0;opacity:.5;background-color:rgba(0,0,0,0);background-repeat:no-repeat;background-position:center}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:hover,.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:focus,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:hover,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:focus,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus{background-color:rgba(0,0,0,0);opacity:1}.app-navigation-personal .collapsible .collapse,.app-navigation-administration .collapsible .collapse{opacity:0;position:absolute;width:var(--default-clickable-area);height:var(--default-clickable-area);margin:0;z-index:110;inset-inline-start:0}.app-navigation-personal .collapsible .collapse:focus-visible,.app-navigation-administration .collapsible .collapse:focus-visible{opacity:1;border-width:0;box-shadow:inset 0 0 0 2px var(--color-primary-element);background:none}.app-navigation-personal .collapsible:before,.app-navigation-administration .collapsible:before{position:absolute;height:var(--default-clickable-area);width:var(--default-clickable-area);margin:0;padding:0;background:none;background-image:var(--icon-triangle-s-dark);background-size:16px;background-repeat:no-repeat;background-position:center;border:none;outline:none !important;box-shadow:none;content:" ";opacity:0;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);z-index:105;border-radius:50%;transition:opacity 100ms ease-in-out}.app-navigation-personal .collapsible>a:first-child,.app-navigation-administration .collapsible>a:first-child{padding-inline-start:var(--default-clickable-area)}.app-navigation-personal .collapsible:hover:before,.app-navigation-personal .collapsible:focus:before,.app-navigation-administration .collapsible:hover:before,.app-navigation-administration .collapsible:focus:before{opacity:1}.app-navigation-personal .collapsible:hover>a,.app-navigation-personal .collapsible:focus>a,.app-navigation-administration .collapsible:hover>a,.app-navigation-administration .collapsible:focus>a{background-image:none}.app-navigation-personal .collapsible:hover>.app-navigation-entry-bullet,.app-navigation-personal .collapsible:focus>.app-navigation-entry-bullet,.app-navigation-administration .collapsible:hover>.app-navigation-entry-bullet,.app-navigation-administration .collapsible:focus>.app-navigation-entry-bullet{background:rgba(0,0,0,0) !important}.app-navigation-personal .collapsible.open:before,.app-navigation-administration .collapsible.open:before{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.app-navigation-personal .app-navigation-entry-utils,.app-navigation-administration .app-navigation-entry-utils{flex:0 1 auto}.app-navigation-personal .app-navigation-entry-utils ul,.app-navigation-administration .app-navigation-entry-utils ul{display:flex !important;align-items:center;justify-content:flex-end}.app-navigation-personal .app-navigation-entry-utils li,.app-navigation-administration .app-navigation-entry-utils li{width:var(--default-clickable-area) !important;height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-utils button,.app-navigation-administration .app-navigation-entry-utils button{height:100%;width:100%;margin:0;box-shadow:none}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button button:not([class^=icon-]):not([class*=" icon-"]),.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button button:not([class^=icon-]):not([class*=" icon-"]){background-image:var(--icon-more-dark)}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:hover button,.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:focus button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:hover button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:focus button{background-color:rgba(0,0,0,0);opacity:1}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter{overflow:hidden;text-align:end;font-size:9pt;line-height:var(--default-clickable-area);padding:0 12px}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted{padding:0;text-align:center}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted span,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted span{padding:2px 5px;border-radius:10px;background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.app-navigation-personal .app-navigation-entry-edit,.app-navigation-administration .app-navigation-entry-edit{padding-inline:5px;display:block;width:calc(100% - 1px);transition:opacity 250ms ease-in-out;opacity:0;position:absolute;background-color:var(--color-main-background);z-index:-1}.app-navigation-personal .app-navigation-entry-edit form,.app-navigation-personal .app-navigation-entry-edit div,.app-navigation-administration .app-navigation-entry-edit form,.app-navigation-administration .app-navigation-entry-edit div{display:inline-flex;width:100%}.app-navigation-personal .app-navigation-entry-edit input,.app-navigation-administration .app-navigation-entry-edit input{padding:5px;margin-inline-end:0;height:38px}.app-navigation-personal .app-navigation-entry-edit input:hover,.app-navigation-personal .app-navigation-entry-edit input:focus,.app-navigation-administration .app-navigation-entry-edit input:hover,.app-navigation-administration .app-navigation-entry-edit input:focus{z-index:1}.app-navigation-personal .app-navigation-entry-edit input[type=text],.app-navigation-administration .app-navigation-entry-edit input[type=text]{width:100%;min-width:0;border-end-end-radius:0;border-start-end-radius:0}.app-navigation-personal .app-navigation-entry-edit button,.app-navigation-personal .app-navigation-entry-edit input:not([type=text]),.app-navigation-administration .app-navigation-entry-edit button,.app-navigation-administration .app-navigation-entry-edit input:not([type=text]){width:36px;height:38px;flex:0 0 36px}.app-navigation-personal .app-navigation-entry-edit button:not(:last-child),.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):not(:last-child),.app-navigation-administration .app-navigation-entry-edit button:not(:last-child),.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):not(:last-child){border-radius:0 !important}.app-navigation-personal .app-navigation-entry-edit button:not(:first-child),.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):not(:first-child),.app-navigation-administration .app-navigation-entry-edit button:not(:first-child),.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):not(:first-child){margin-inline-start:-1px}.app-navigation-personal .app-navigation-entry-edit button:last-child,.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):last-child,.app-navigation-administration .app-navigation-entry-edit button:last-child,.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):last-child{border-end-end-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-start-radius:0;border-start-start-radius:0}.app-navigation-personal .app-navigation-entry-deleted,.app-navigation-administration .app-navigation-entry-deleted{display:inline-flex;padding-inline-start:var(--default-clickable-area);transform:translateX(300px)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-description,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-description{position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1 1 0px;line-height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button{margin:0;height:var(--default-clickable-area);width:var(--default-clickable-area);line-height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus{opacity:1}.app-navigation-personal .app-navigation-entry-edit,.app-navigation-personal .app-navigation-entry-deleted,.app-navigation-administration .app-navigation-entry-edit,.app-navigation-administration .app-navigation-entry-deleted{width:calc(100% - 1px);transition:transform 250ms ease-in-out,opacity 250ms ease-in-out,z-index 250ms ease-in-out;position:absolute;inset-inline-start:0;background-color:var(--color-main-background);box-sizing:border-box}.app-navigation-personal .drag-and-drop,.app-navigation-administration .drag-and-drop{-webkit-transition:padding-bottom 500ms ease 0s;transition:padding-bottom 500ms ease 0s;padding-bottom:40px}.app-navigation-personal .error,.app-navigation-administration .error{color:var(--color-error)}.app-navigation-personal .app-navigation-entry-utils ul,.app-navigation-personal .app-navigation-entry-menu ul,.app-navigation-administration .app-navigation-entry-utils ul,.app-navigation-administration .app-navigation-entry-menu ul{list-style-type:none}body[dir=ltr] .app-navigation-personal .app-navigation-new button,body[dir=ltr] .app-navigation-administration .app-navigation-new button{background-position:left 10px center}body[dir=ltr] .app-navigation-personal>ul>li>ul>li>a,body[dir=ltr] .app-navigation-administration>ul>li>ul>li>a{background-position:left 14px center}body[dir=ltr] .app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,body[dir=ltr] .app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{float:right}body[dir=rtl] .app-navigation-personal .app-navigation-new button,body[dir=rtl] .app-navigation-administration .app-navigation-new button{background-position:right 10px center}body[dir=rtl] .app-navigation-personal>ul>li>ul>li>a,body[dir=rtl] .app-navigation-administration>ul>li>ul>li>a{background-position:right 14px center}body[dir=rtl] .app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,body[dir=rtl] .app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{float:left}#content{box-sizing:border-box;position:static;margin:var(--body-container-margin);margin-top:var(--header-height);padding:0;display:flex;width:calc(100% - var(--body-container-margin)*2);height:var(--body-height);border-radius:var(--body-container-radius);overflow:clip}#content:not(.with-sidebar--full){position:fixed}@media only screen and (max-width: 1024px){#content{border-start-start-radius:var(--border-radius-large);border-start-end-radius:var(--border-radius-large)}#app-navigation{border-start-start-radius:var(--border-radius-large)}#app-sidebar{border-start-end-radius:var(--border-radius-large)}}#app-content{z-index:1000;background-color:var(--color-main-background);flex-basis:100vw;overflow:auto;position:initial;height:100%}#app-content>.section:first-child{border-top:none}#app-content #app-content-wrapper{display:flex;position:relative;align-items:stretch;min-height:100%}#app-content #app-content-wrapper .app-content-details{flex:1 1 524px}#app-content #app-content-wrapper .app-content-details #app-navigation-toggle-back{display:none}#app-content::-webkit-scrollbar-button{height:var(--body-container-radius)}#app-sidebar{width:27vw;min-width:300px;max-width:500px;display:block;position:-webkit-sticky;position:sticky;top:50px;inset-inline-end:0;overflow-y:auto;overflow-x:hidden;z-index:1500;opacity:.7px;height:calc(100vh - 50px);background:var(--color-main-background);border-inline-start:1px solid var(--color-border);flex-shrink:0}#app-sidebar.disappear{display:none}#app-settings{margin-top:auto}#app-settings.open #app-settings-content,#app-settings.opened #app-settings-content{display:block}#app-settings-content{display:none;padding:calc(var(--default-grid-baseline)*2);padding-top:0;padding-inline-start:calc(var(--default-grid-baseline)*4);max-height:300px;overflow-y:auto;box-sizing:border-box}#app-settings-content input[type=text]{width:93%}#app-settings-content .info-text{padding-block:5px 7px;padding-inline:22px 0;color:var(--color-text-lighter)}#app-settings-content input[type=checkbox].radio+label,#app-settings-content input[type=checkbox].checkbox+label,#app-settings-content input[type=radio].radio+label,#app-settings-content input[type=radio].checkbox+label{display:inline-block;width:100%;padding:5px 0}#app-settings-header{box-sizing:border-box;background-color:rgba(0,0,0,0);overflow:hidden;border-radius:calc(var(--default-clickable-area)/2);padding:calc(var(--default-grid-baseline)*2);padding-top:0}#app-settings-header .settings-button{display:flex;align-items:center;height:var(--default-clickable-area);width:100%;padding:0;margin:0;background-color:rgba(0,0,0,0);box-shadow:none;border:0;border-radius:calc(var(--default-clickable-area)/2);text-align:start;font-weight:normal;font-size:100%;opacity:.8;color:var(--color-main-text)}#app-settings-header .settings-button.opened{border-top:solid 1px var(--color-border);background-color:var(--color-main-background);margin-top:8px}#app-settings-header .settings-button:hover,#app-settings-header .settings-button:focus{background-color:var(--color-background-hover)}#app-settings-header .settings-button::before{background-image:var(--icon-settings-dark);background-repeat:no-repeat;content:"";width:var(--default-clickable-area);height:var(--default-clickable-area);top:0;inset-inline-start:0;display:block}#app-settings-header .settings-button:focus-visible{box-shadow:0 0 0 2px inset var(--color-primary-element) !important}body[dir=ltr] #app-settings-header .settings-button::before{background-position:left 14px center}body[dir=ltr] #app-settings-header .settings-button:focus-visible{background-position:left 12px center}body[dir=rtl] #app-settings-header .settings-button::before{background-position:right 14px center}body[dir=rtl] #app-settings-header .settings-button:focus-visible{background-position:right 12px center}.section{display:block;padding:30px;margin-bottom:24px}.section.hidden{display:none !important}.section input[type=checkbox],.section input[type=radio]{vertical-align:-2px;margin-inline-end:4px}.sub-section{position:relative;margin-top:10px;margin-inline-start:27px;margin-bottom:10px}.appear{opacity:1;-webkit-transition:opacity 500ms ease 0s;-moz-transition:opacity 500ms ease 0s;-ms-transition:opacity 500ms ease 0s;-o-transition:opacity 500ms ease 0s;transition:opacity 500ms ease 0s}.appear.transparent{opacity:0}.tabHeaders{display:flex;margin-bottom:16px}.tabHeaders .tabHeader{display:flex;flex-direction:column;flex-grow:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--color-text-lighter);margin-bottom:1px;padding:5px}.tabHeaders .tabHeader.hidden{display:none}.tabHeaders .tabHeader:first-child{padding-inline-start:15px}.tabHeaders .tabHeader:last-child{padding-inline-end:15px}.tabHeaders .tabHeader .icon{display:inline-block;width:100%;height:16px;background-size:16px;vertical-align:middle;margin-top:-2px;margin-inline-end:3px;opacity:.7;cursor:pointer}.tabHeaders .tabHeader a{color:var(--color-text-lighter);margin-bottom:1px;overflow:hidden;text-overflow:ellipsis}.tabHeaders .tabHeader.selected{font-weight:bold}.tabHeaders .tabHeader.selected,.tabHeaders .tabHeader:hover,.tabHeaders .tabHeader:focus{margin-bottom:0px;color:var(--color-main-text);border-bottom:1px solid var(--color-text-lighter)}.tabsContainer .tab{padding:0 15px 15px}body[dir=ltr] .tabsContainer{clear:left}body[dir=rtl] .tabsContainer{clear:right}.v-popper__inner div.open>ul>li>a>span.action-link__icon,.v-popper__inner div.open>ul>li>a>span.action-router__icon,.v-popper__inner div.open>ul>li>a>img{filter:var(--background-invert-if-dark)}.v-popper__inner div.open>ul>li>a>span.action-link__icon[src^=data],.v-popper__inner div.open>ul>li>a>span.action-router__icon[src^=data],.v-popper__inner div.open>ul>li>a>img[src^=data]{filter:none}.bubble,.app-navigation-entry-menu,.popovermenu{position:absolute;background-color:var(--color-main-background);color:var(--color-main-text);border-radius:var(--border-radius-large);padding:3px;z-index:110;margin:5px;margin-top:-5px;inset-inline-end:0;filter:drop-shadow(0 1px 3px var(--color-box-shadow));display:none;will-change:filter}.bubble:after,.app-navigation-entry-menu:after,.popovermenu:after{bottom:100%;inset-inline-end:7px;border:solid rgba(0,0,0,0);content:" ";height:0;width:0;position:absolute;pointer-events:none;border-bottom-color:var(--color-main-background);border-width:9px}.bubble.menu-center,.app-navigation-entry-menu.menu-center,.popovermenu.menu-center{transform:translateX(50%);inset-inline-end:50%;margin-inline-end:0}.bubble.menu-center:after,.app-navigation-entry-menu.menu-center:after,.popovermenu.menu-center:after{inset-inline-end:50%;transform:translateX(50%)}.bubble.menu-left,.app-navigation-entry-menu.menu-left,.popovermenu.menu-left{inset-inline:0 auto;margin-inline-end:0}.bubble.menu-left:after,.app-navigation-entry-menu.menu-left:after,.popovermenu.menu-left:after{inset-inline:6px auto}.bubble.open,.app-navigation-entry-menu.open,.popovermenu.open{display:block}.bubble.contactsmenu-popover,.app-navigation-entry-menu.contactsmenu-popover,.popovermenu.contactsmenu-popover{margin:0}.bubble ul,.app-navigation-entry-menu ul,.popovermenu ul{display:flex !important;flex-direction:column}.bubble li,.app-navigation-entry-menu li,.popovermenu li{display:flex;flex:0 0 auto}.bubble li.hidden,.app-navigation-entry-menu li.hidden,.popovermenu li.hidden{display:none}.bubble li>button,.bubble li>a,.bubble li>.menuitem,.app-navigation-entry-menu li>button,.app-navigation-entry-menu li>a,.app-navigation-entry-menu li>.menuitem,.popovermenu li>button,.popovermenu li>a,.popovermenu li>.menuitem{cursor:pointer;line-height:34px;border:0;border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex;align-items:flex-start;height:auto;margin:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap}.bubble li>button span[class^=icon-],.bubble li>button span[class*=" icon-"],.bubble li>button[class^=icon-],.bubble li>button[class*=" icon-"],.bubble li>a span[class^=icon-],.bubble li>a span[class*=" icon-"],.bubble li>a[class^=icon-],.bubble li>a[class*=" icon-"],.bubble li>.menuitem span[class^=icon-],.bubble li>.menuitem span[class*=" icon-"],.bubble li>.menuitem[class^=icon-],.bubble li>.menuitem[class*=" icon-"],.app-navigation-entry-menu li>button span[class^=icon-],.app-navigation-entry-menu li>button span[class*=" icon-"],.app-navigation-entry-menu li>button[class^=icon-],.app-navigation-entry-menu li>button[class*=" icon-"],.app-navigation-entry-menu li>a span[class^=icon-],.app-navigation-entry-menu li>a span[class*=" icon-"],.app-navigation-entry-menu li>a[class^=icon-],.app-navigation-entry-menu li>a[class*=" icon-"],.app-navigation-entry-menu li>.menuitem span[class^=icon-],.app-navigation-entry-menu li>.menuitem span[class*=" icon-"],.app-navigation-entry-menu li>.menuitem[class^=icon-],.app-navigation-entry-menu li>.menuitem[class*=" icon-"],.popovermenu li>button span[class^=icon-],.popovermenu li>button span[class*=" icon-"],.popovermenu li>button[class^=icon-],.popovermenu li>button[class*=" icon-"],.popovermenu li>a span[class^=icon-],.popovermenu li>a span[class*=" icon-"],.popovermenu li>a[class^=icon-],.popovermenu li>a[class*=" icon-"],.popovermenu li>.menuitem span[class^=icon-],.popovermenu li>.menuitem span[class*=" icon-"],.popovermenu li>.menuitem[class^=icon-],.popovermenu li>.menuitem[class*=" icon-"]{min-width:0;min-height:0;background-position:9px center;background-size:16px}.bubble li>button span[class^=icon-],.bubble li>button span[class*=" icon-"],.bubble li>a span[class^=icon-],.bubble li>a span[class*=" icon-"],.bubble li>.menuitem span[class^=icon-],.bubble li>.menuitem span[class*=" icon-"],.app-navigation-entry-menu li>button span[class^=icon-],.app-navigation-entry-menu li>button span[class*=" icon-"],.app-navigation-entry-menu li>a span[class^=icon-],.app-navigation-entry-menu li>a span[class*=" icon-"],.app-navigation-entry-menu li>.menuitem span[class^=icon-],.app-navigation-entry-menu li>.menuitem span[class*=" icon-"],.popovermenu li>button span[class^=icon-],.popovermenu li>button span[class*=" icon-"],.popovermenu li>a span[class^=icon-],.popovermenu li>a span[class*=" icon-"],.popovermenu li>.menuitem span[class^=icon-],.popovermenu li>.menuitem span[class*=" icon-"]{padding:17px 0 17px 34px}.bubble li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child{margin-inline-start:34px}.bubble li>button[class^=icon-],.bubble li>button[class*=" icon-"],.bubble li>a[class^=icon-],.bubble li>a[class*=" icon-"],.bubble li>.menuitem[class^=icon-],.bubble li>.menuitem[class*=" icon-"],.app-navigation-entry-menu li>button[class^=icon-],.app-navigation-entry-menu li>button[class*=" icon-"],.app-navigation-entry-menu li>a[class^=icon-],.app-navigation-entry-menu li>a[class*=" icon-"],.app-navigation-entry-menu li>.menuitem[class^=icon-],.app-navigation-entry-menu li>.menuitem[class*=" icon-"],.popovermenu li>button[class^=icon-],.popovermenu li>button[class*=" icon-"],.popovermenu li>a[class^=icon-],.popovermenu li>a[class*=" icon-"],.popovermenu li>.menuitem[class^=icon-],.popovermenu li>.menuitem[class*=" icon-"]{padding:0 9px 0 34px !important}.bubble li>button:hover,.bubble li>button:focus,.bubble li>a:hover,.bubble li>a:focus,.bubble li>.menuitem:hover,.bubble li>.menuitem:focus,.app-navigation-entry-menu li>button:hover,.app-navigation-entry-menu li>button:focus,.app-navigation-entry-menu li>a:hover,.app-navigation-entry-menu li>a:focus,.app-navigation-entry-menu li>.menuitem:hover,.app-navigation-entry-menu li>.menuitem:focus,.popovermenu li>button:hover,.popovermenu li>button:focus,.popovermenu li>a:hover,.popovermenu li>a:focus,.popovermenu li>.menuitem:hover,.popovermenu li>.menuitem:focus{background-color:var(--color-background-hover)}.bubble li>button:focus,.bubble li>button:focus-visible,.bubble li>a:focus,.bubble li>a:focus-visible,.bubble li>.menuitem:focus,.bubble li>.menuitem:focus-visible,.app-navigation-entry-menu li>button:focus,.app-navigation-entry-menu li>button:focus-visible,.app-navigation-entry-menu li>a:focus,.app-navigation-entry-menu li>a:focus-visible,.app-navigation-entry-menu li>.menuitem:focus,.app-navigation-entry-menu li>.menuitem:focus-visible,.popovermenu li>button:focus,.popovermenu li>button:focus-visible,.popovermenu li>a:focus,.popovermenu li>a:focus-visible,.popovermenu li>.menuitem:focus,.popovermenu li>.menuitem:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element)}.bubble li>button.active,.bubble li>a.active,.bubble li>.menuitem.active,.app-navigation-entry-menu li>button.active,.app-navigation-entry-menu li>a.active,.app-navigation-entry-menu li>.menuitem.active,.popovermenu li>button.active,.popovermenu li>a.active,.popovermenu li>.menuitem.active{border-radius:var(--border-radius-element);background-color:var(--color-primary-element-light)}.bubble li>button.action,.bubble li>a.action,.bubble li>.menuitem.action,.app-navigation-entry-menu li>button.action,.app-navigation-entry-menu li>a.action,.app-navigation-entry-menu li>.menuitem.action,.popovermenu li>button.action,.popovermenu li>a.action,.popovermenu li>.menuitem.action{padding:inherit !important}.bubble li>button>span,.bubble li>a>span,.bubble li>.menuitem>span,.app-navigation-entry-menu li>button>span,.app-navigation-entry-menu li>a>span,.app-navigation-entry-menu li>.menuitem>span,.popovermenu li>button>span,.popovermenu li>a>span,.popovermenu li>.menuitem>span{cursor:pointer;white-space:nowrap}.bubble li>button>p,.bubble li>a>p,.bubble li>.menuitem>p,.app-navigation-entry-menu li>button>p,.app-navigation-entry-menu li>a>p,.app-navigation-entry-menu li>.menuitem>p,.popovermenu li>button>p,.popovermenu li>a>p,.popovermenu li>.menuitem>p{width:150px;line-height:1.6em;padding:8px 0;white-space:normal}.bubble li>button>select,.bubble li>a>select,.bubble li>.menuitem>select,.app-navigation-entry-menu li>button>select,.app-navigation-entry-menu li>a>select,.app-navigation-entry-menu li>.menuitem>select,.popovermenu li>button>select,.popovermenu li>a>select,.popovermenu li>.menuitem>select{margin:0;margin-inline-start:6px}.bubble li>button:not(:empty),.bubble li>a:not(:empty),.bubble li>.menuitem:not(:empty),.app-navigation-entry-menu li>button:not(:empty),.app-navigation-entry-menu li>a:not(:empty),.app-navigation-entry-menu li>.menuitem:not(:empty),.popovermenu li>button:not(:empty),.popovermenu li>a:not(:empty),.popovermenu li>.menuitem:not(:empty){padding-inline-end:9px !important}.bubble li>button>img,.bubble li>a>img,.bubble li>.menuitem>img,.app-navigation-entry-menu li>button>img,.app-navigation-entry-menu li>a>img,.app-navigation-entry-menu li>.menuitem>img,.popovermenu li>button>img,.popovermenu li>a>img,.popovermenu li>.menuitem>img{width:16px;padding:9px}.bubble li>button>input.radio+label,.bubble li>button>input.checkbox+label,.bubble li>a>input.radio+label,.bubble li>a>input.checkbox+label,.bubble li>.menuitem>input.radio+label,.bubble li>.menuitem>input.checkbox+label,.app-navigation-entry-menu li>button>input.radio+label,.app-navigation-entry-menu li>button>input.checkbox+label,.app-navigation-entry-menu li>a>input.radio+label,.app-navigation-entry-menu li>a>input.checkbox+label,.app-navigation-entry-menu li>.menuitem>input.radio+label,.app-navigation-entry-menu li>.menuitem>input.checkbox+label,.popovermenu li>button>input.radio+label,.popovermenu li>button>input.checkbox+label,.popovermenu li>a>input.radio+label,.popovermenu li>a>input.checkbox+label,.popovermenu li>.menuitem>input.radio+label,.popovermenu li>.menuitem>input.checkbox+label{padding:0 !important;width:100%}.bubble li>button>input.checkbox+label::before,.bubble li>a>input.checkbox+label::before,.bubble li>.menuitem>input.checkbox+label::before,.app-navigation-entry-menu li>button>input.checkbox+label::before,.app-navigation-entry-menu li>a>input.checkbox+label::before,.app-navigation-entry-menu li>.menuitem>input.checkbox+label::before,.popovermenu li>button>input.checkbox+label::before,.popovermenu li>a>input.checkbox+label::before,.popovermenu li>.menuitem>input.checkbox+label::before{margin:-2px 13px 0}.bubble li>button>input.radio+label::before,.bubble li>a>input.radio+label::before,.bubble li>.menuitem>input.radio+label::before,.app-navigation-entry-menu li>button>input.radio+label::before,.app-navigation-entry-menu li>a>input.radio+label::before,.app-navigation-entry-menu li>.menuitem>input.radio+label::before,.popovermenu li>button>input.radio+label::before,.popovermenu li>a>input.radio+label::before,.popovermenu li>.menuitem>input.radio+label::before{margin:-2px 12px 0}.bubble li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.bubble li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.bubble li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}.bubble li>button form,.bubble li>a form,.bubble li>.menuitem form,.app-navigation-entry-menu li>button form,.app-navigation-entry-menu li>a form,.app-navigation-entry-menu li>.menuitem form,.popovermenu li>button form,.popovermenu li>a form,.popovermenu li>.menuitem form{display:flex;flex:1 1 auto;align-items:center}.bubble li>button form:not(:first-child),.bubble li>a form:not(:first-child),.bubble li>.menuitem form:not(:first-child),.app-navigation-entry-menu li>button form:not(:first-child),.app-navigation-entry-menu li>a form:not(:first-child),.app-navigation-entry-menu li>.menuitem form:not(:first-child),.popovermenu li>button form:not(:first-child),.popovermenu li>a form:not(:first-child),.popovermenu li>.menuitem form:not(:first-child){margin-inline-start:5px}.bubble li>button>span.hidden+form,.bubble li>button>span[style*="display:none"]+form,.bubble li>a>span.hidden+form,.bubble li>a>span[style*="display:none"]+form,.bubble li>.menuitem>span.hidden+form,.bubble li>.menuitem>span[style*="display:none"]+form,.app-navigation-entry-menu li>button>span.hidden+form,.app-navigation-entry-menu li>button>span[style*="display:none"]+form,.app-navigation-entry-menu li>a>span.hidden+form,.app-navigation-entry-menu li>a>span[style*="display:none"]+form,.app-navigation-entry-menu li>.menuitem>span.hidden+form,.app-navigation-entry-menu li>.menuitem>span[style*="display:none"]+form,.popovermenu li>button>span.hidden+form,.popovermenu li>button>span[style*="display:none"]+form,.popovermenu li>a>span.hidden+form,.popovermenu li>a>span[style*="display:none"]+form,.popovermenu li>.menuitem>span.hidden+form,.popovermenu li>.menuitem>span[style*="display:none"]+form{margin-inline-start:0}.bubble li>button input,.bubble li>a input,.bubble li>.menuitem input,.app-navigation-entry-menu li>button input,.app-navigation-entry-menu li>a input,.app-navigation-entry-menu li>.menuitem input,.popovermenu li>button input,.popovermenu li>a input,.popovermenu li>.menuitem input{min-width:34px;max-height:30px;margin:2px 0;flex:1 1 auto}.bubble li>button input:not(:first-child),.bubble li>a input:not(:first-child),.bubble li>.menuitem input:not(:first-child),.app-navigation-entry-menu li>button input:not(:first-child),.app-navigation-entry-menu li>a input:not(:first-child),.app-navigation-entry-menu li>.menuitem input:not(:first-child),.popovermenu li>button input:not(:first-child),.popovermenu li>a input:not(:first-child),.popovermenu li>.menuitem input:not(:first-child){margin-inline-start:5px}.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input{margin-top:7px}.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input{margin-bottom:0px}.bubble li>button,.app-navigation-entry-menu li>button,.popovermenu li>button{padding:0}.bubble li>button span,.app-navigation-entry-menu li>button span,.popovermenu li>button span{opacity:1}.popovermenu li>button>img,.popovermenu li>a>img,.popovermenu li>.menuitem>img{width:34px;height:34px}#contactsmenu .contact .popovermenu li>a>img{width:16px;height:16px}.app-content-list{position:-webkit-sticky;position:relative;top:0;border-inline-end:1px solid var(--color-border);display:flex;flex-direction:column;transition:transform 250ms ease-in-out;min-height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;flex:1 1 200px;min-width:200px;max-width:300px}.app-content-list .app-content-list-item{position:relative;height:68px;cursor:pointer;padding:10px 7px;display:flex;flex-wrap:wrap;align-items:center;flex:0 0 auto}.app-content-list .app-content-list-item>[class^=icon-],.app-content-list .app-content-list-item>[class*=" icon-"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]{order:4;width:24px;height:24px;margin:-7px;padding:22px;opacity:.3;cursor:pointer}.app-content-list .app-content-list-item>[class^=icon-]:hover,.app-content-list .app-content-list-item>[class^=icon-]:focus,.app-content-list .app-content-list-item>[class*=" icon-"]:hover,.app-content-list .app-content-list-item>[class*=" icon-"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]:focus{opacity:.7}.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star],.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"],.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star],.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]{opacity:.7}.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star]:hover,.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star]:focus,.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star]:hover,.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star]:focus,.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]:focus{opacity:1}.app-content-list .app-content-list-item>[class^=icon-].icon-starred,.app-content-list .app-content-list-item>[class*=" icon-"].icon-starred,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-].icon-starred,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"].icon-starred{opacity:1}.app-content-list .app-content-list-item:hover,.app-content-list .app-content-list-item:focus,.app-content-list .app-content-list-item.active{background-color:var(--color-background-dark)}.app-content-list .app-content-list-item:hover .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item:focus .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item.active .app-content-list-item-checkbox.checkbox+label{display:flex}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item .app-content-list-item-star{position:absolute;height:40px;width:40px;z-index:50}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:checked+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:hover+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:focus+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox.active+label{display:flex}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:checked+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:hover+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:focus+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox.active+label+.app-content-list-item-icon{opacity:.7}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label{top:14px;inset-inline-start:7px;display:none}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label::before{margin:0}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label~.app-content-list-item-star{display:none}.app-content-list .app-content-list-item .app-content-list-item-star{display:flex;top:10px;inset-inline-start:32px;background-size:16px;height:20px;width:20px;margin:0;padding:0}.app-content-list .app-content-list-item .app-content-list-item-icon{position:absolute;display:inline-block;height:40px;width:40px;line-height:40px;border-radius:50%;vertical-align:middle;margin-inline-end:10px;color:#fff;text-align:center;font-size:1.5em;text-transform:capitalize;object-fit:cover;user-select:none;cursor:pointer;top:50%;margin-top:-20px}.app-content-list .app-content-list-item .app-content-list-item-line-one,.app-content-list .app-content-list-item .app-content-list-item-line-two{display:block;padding-inline:50px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;order:1;flex:1 1 0px;cursor:pointer}.app-content-list .app-content-list-item .app-content-list-item-line-two{opacity:.5;order:3;flex:1 0;flex-basis:calc(100% - var(--default-clickable-area))}.app-content-list .app-content-list-item .app-content-list-item-details{order:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;opacity:.5;font-size:80%;user-select:none}.app-content-list .app-content-list-item .app-content-list-item-menu{order:4;position:relative}.app-content-list .app-content-list-item .app-content-list-item-menu .popovermenu{margin:0;inset-inline-end:-2px}.app-content-list.selection .app-content-list-item-checkbox.checkbox+label{display:flex}.button.primary.skip-navigation:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}/*# sourceMappingURL=apps.css.map */
diff --git a/core/css/apps.css.map b/core/css/apps.css.map
new file mode 100644
index 00000000000..929ca683ce5
--- /dev/null
+++ b/core/css/apps.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["apps.scss","variables.scss","functions.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GCFA;AAAA;AAAA;AAAA,GFSA,sCAEC,MACC,wCACA,yCAKF,KACC,WACA,YACA,kBAEA,6EAGD,KAEC,6EAEA,yCACA,sBACA,2BACA,eACA,WACA,iDAKD,eAKC,gBACA,gBACA,gBACA,mBACA,6BAGD,GACC,gBAGD,GACC,gBAGD,GACC,gBAGD,GACC,iBAGD,GACC,gBAID,GACC,kBACA,oCAGD,GACC,eAGD,MAEC,qBACA,aACA,uBAGD,GACC,YACA,mBACA,eAGD,IACC,iBACA,sBACA,kCACA,mCACA,qBACA,mBAMD,wBACC,sBAKD,0BAEC,gGACA,MCxBkB,MDyBlB,YACA,gBACA,kBACA,mDACA,8CACA,+EACA,gBACA,YACA,sBACA,qBACA,iBACA,aACA,sBACA,YACA,cAEA,kDACC,iBACA,0CACA,2EACA,mBACA,uBACA,2BACA,iBACA,oBACA,yBAQD,gGACC,cACA,6CACA,8GACC,qBACA,WACA,aACA,0BACA,iBACA,SAIF,8DACC,kBAED,8DACC,kBACA,YACA,WACA,kBACA,gBACA,sBACA,aACA,sBACA,6CACA,iBAEA,oFACC,oDAGD,oEACC,oBACA,eACA,QACA,cACA,SACA,kBACA,WACA,2CAGA,kFACC,QACA,4GACC,2BAIF,gIAEC,8DAED,0HAIC,0EAKA,wVAEC,+CAGF,oGACC,kDACA,yCAMA,gsBAEC,8CACA,wCAEA,g8BACC,qCAMH,sHACC,wBACA,SAMA,kNAEC,aAKF,0EACC,cACA,WACA,kBACA,gFACC,oBACA,eACA,mDACA,WACA,kBAIC,wXAEC,2CACA,+CAKD,gZAEC,2CACA,oDACA,ghBACC,qCAMH,kIACC,yDAGD,4IAEC,wBACA,0BAGD,sIAEC,wBAGA,6EAMJ,oJAEC,kBACA,sBAGC,4jBAGC,oCAIF,4JACC,0BACA,4BACA,cACA,8BACA,0CACA,yCACA,gBACA,oDACA,gBACA,sBACA,mBACA,uBACA,2CACA,6BACA,aACA,YAGA,4KACC,gBACA,kDACA,wOACC,gBACA,6DAGF,4NACC,kEACA,WACA,YAEA,wCAID,4QACC,qBAEA,4ZACC,gCAKH,wQACC,kBACA,cACA,YACA,WACA,YACA,YACA,kBACA,eACA,wCAEA,gRAEC,oCAKF,gQACC,kCAID,gSACC,UACA,YAED,4SACC,wBACA,YAIH,sEACC,aAMD,4YAEC,SACA,WACA,+BACA,4BACA,2BACA,w0BAEC,+BACA,UAUD,sGACC,UACA,kBACA,oCACA,qCACA,SACA,YAIA,qBAEA,kIACC,UACA,eACA,wDACA,gBAGF,gGACC,kBACA,qCACA,oCACA,SACA,UACA,gBEjZF,6CFmZE,qBACA,4BACA,2BACA,YACA,wBACA,gBACA,YACA,UACA,iCACA,6BACA,yBACA,YACA,kBACA,qCAMD,8GACC,mDAIA,wNACC,UAED,oMACC,sBAED,gTACC,oCAID,0GACC,4BACA,wBACA,oBAQH,gHACC,cACA,sHACC,wBACA,mBACA,yBAED,sHACC,+CACA,qCAED,8HACC,YACA,WACA,SACA,gBAIA,oSEpdF,uCFudE,obAEC,+BACA,UAGF,wLACC,gBACA,eACA,cACA,0CACA,eAEA,gNACC,UACA,kBACA,0NACC,gBACA,mBACA,8CACA,wCASJ,8GACC,mBACA,cACA,uBACA,qCACA,UACA,kBACA,8CACA,WACA,8OAEC,oBACA,WAED,0HACC,YACA,oBACA,YACA,4QAGC,UAGF,gJACC,WACA,YACA,wBACA,0BAED,wRAEC,WACA,YACA,cACA,4VACC,2BAED,gWACC,yBAED,oUACC,2CACA,6CACA,0BACA,4BAQH,oHACC,oBACA,mDACA,4BACA,wMACC,kBACA,mBACA,uBACA,gBACA,aACA,0CAED,8LACC,SACA,qCACA,oCACA,0CACA,oZAEC,UAQH,kOAEC,uBACA,2FAGA,kBACA,qBACA,8CACA,sBAMD,sFACC,gDACA,wCACA,oBAGD,sEACC,yBAGD,0OAEC,qBASA,0IACC,qCAGD,gHACC,qCAEA,wKACC,YASF,0IACC,sCAGD,gHACC,sCAEA,wKACC,WAOJ,SACC,sBACA,gBACA,oCACA,gCACA,UACA,aACA,kDACA,0BACA,2CACA,cAEA,kCACC,eAIF,2CACC,SACC,qDACA,mDAED,gBACC,qDAED,aACC,oDAcF,aACC,aACA,8CACA,iBACA,cACA,iBACA,YAGA,kCACC,gBAID,kCACC,aACA,kBACA,oBAGA,gBAGA,uDAEC,eACA,mFACC,aAKH,uCACC,oCASF,aACC,WACA,UC/qBmB,MDgrBnB,UC/qBmB,MDgrBnB,cACA,wBACA,gBACA,ICtrBe,KDurBf,mBACA,gBACA,kBACA,aACA,aACA,0BACA,wCACA,kDACA,cAEA,uBACC,aAOF,cAEC,gBAGC,oFACC,cAKH,sBACC,aACA,6CACA,cACA,0DAEA,iBACA,gBACA,sBAGA,uCACC,UAGD,iCACC,sBACA,sBACA,gCAOE,4NACC,qBACA,WACA,cAOL,qBACC,sBACA,+BACA,gBACA,oDACA,6CACA,cAEA,sCACC,aACA,mBACA,qCACA,WACA,UACA,SACA,+BACA,gBACA,SACA,oDACA,iBACA,mBACA,eACA,WAGA,6BAEA,6CACC,yCACA,8CACA,eAED,wFAEC,+CAGD,8CACC,2CACA,4BACA,WACA,oCACA,qCACA,MACA,qBACA,cAGD,oDACC,mEAOF,4DACC,qCAED,kEACC,qCAKD,4DACC,sCAED,kEACC,sCAIF,SACC,cACA,aACA,mBACA,gBACC,wBAIA,yDAEC,oBACA,sBAKH,aACC,kBACA,gBACA,yBACA,mBAGD,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAKF,YACC,aACA,mBAEA,uBACC,aACA,sBACA,YACA,kBACA,mBACA,gBACA,uBACA,eACA,gCACA,kBACA,YAEA,8BACC,aAID,mCACC,0BAED,kCACC,wBAGD,6BACC,qBACA,WACA,YACA,qBACA,sBACA,gBACA,sBACA,WACA,eAGD,yBACC,gCACA,kBACA,gBACA,uBAED,gCACC,iBAED,0FAGC,kBACA,6BACA,kDAMF,oBACC,oBAKF,6BACC,WAGD,6BACC,YASA,0JAGC,wCAIA,2LACC,YAKH,gDAGC,kBACA,8CACA,6BACA,yCACA,YACA,YACA,WACA,gBACA,mBACA,sDACA,aACA,mBAEA,kEACC,YAKA,qBAEA,2BACA,YACA,SACA,QACA,kBACA,oBACA,iDACA,iBAGD,oFACC,0BACA,qBACA,oBACA,sGACC,qBACA,0BAIF,8EACC,oBACA,oBACA,gGACC,sBAIF,+DACC,cAGD,+GACC,SAGD,yDAEC,wBACA,sBAED,yDACC,aACA,cAEA,8EACC,aAGD,oOAGC,eACA,YA/FkB,KAgGlB,SACA,yCACA,+BACA,aACA,uBACA,YACA,SACA,mBACA,gBACA,WACA,6BACA,mBAEA,whDAIC,YACA,aACA,+BACA,gBAnHe,KAqHhB,yzBAIC,yBAOC,gvGACC,oBAlIe,KAsIlB,+tBAEC,gCAED,ojBAEC,+CAED,4nBAEC,kDAED,mSACC,2CACA,oDAGD,mSACC,2BAED,iRACC,eACA,mBAED,sPACC,YACA,kBACA,cACA,mBAED,mSACC,SACA,wBAGD,gVACC,kCAID,wQACC,MA9Ke,KA+Kf,YAGD,uyBAEC,qBACA,WAED,yeACC,mBAED,8cACC,mBAED,2xBACC,YAED,iRACC,aACA,cAGA,mBACA,mbACC,wBAIF,04BAEC,sBAGD,0RACC,UAlNiB,KAmNjB,gBACA,aACA,cAEA,4bACC,wBAQA,2hDACC,eAMD,ygDACC,kBAKJ,8EACC,UACA,6FACC,UAcD,+EACC,MA/PiB,KAgQjB,OAhQiB,KAyQlB,6CACC,WACA,YAOJ,kBACC,wBACA,kBACA,MACA,gDACA,aACA,sBACA,uCACA,gBACA,gBACA,gBACA,kBACA,eACA,UC5sCgB,MD6sChB,UC5sCgB,MD+sChB,yCACC,kBACA,YACA,eACA,iBACA,aACA,eACA,mBACA,cAKC,8RAEC,QACA,WACA,YACA,YACA,aACA,WACA,eACA,4mBAEC,WAED,wtBAEC,WACA,ghDAEC,UAIF,kVACC,UAKH,8IAGC,8CAEA,2RACC,aAIF,6JAEC,kBACA,YACA,WACA,WAQC,2XAEC,aAEA,2eACC,WAIH,wFACC,SACA,uBAEA,aACA,gGACC,SAGD,oHACC,aAKH,qEACC,aACA,SACA,wBACA,qBACA,YACA,WACA,SACA,UAGD,qEACC,kBACA,qBACA,YACA,WACA,iBACA,kBACA,sBACA,uBACA,WACA,kBACA,gBACA,0BACA,iBACA,iBACA,eACA,QACA,iBAGD,kJAEC,cACA,yBACA,mBACA,gBACA,uBACA,QACA,aACA,eAGD,yEACC,WACA,QACA,SACA,sDAGD,wEACC,QACA,mBACA,gBACA,uBACA,gBACA,WACA,cACA,iBAGD,qEACC,QACA,kBACA,kFACC,SAGA,sBAIH,2EACC,aAIF,8CACC,6DACA","file":"apps.css"} \ No newline at end of file
diff --git a/core/css/apps.css.map.license b/core/css/apps.css.map.license
new file mode 100644
index 00000000000..82ac7cce426
--- /dev/null
+++ b/core/css/apps.css.map.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/apps.scss b/core/css/apps.scss
new file mode 100644
index 00000000000..353eb43fe3f
--- /dev/null
+++ b/core/css/apps.scss
@@ -0,0 +1,1496 @@
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+@use 'variables';
+@use 'sass:math';
+@use 'functions';
+
+@media screen and (max-width: variables.$breakpoint-mobile) {
+ // Make the body full width on mobile
+ :root {
+ --body-container-margin: 0px !important;
+ --body-container-radius: 0px !important;
+ }
+}
+
+
+html {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ // color-background-plain should always be defined.
+ background-color: var(--color-background-plain, var(--color-main-background));
+}
+
+body {
+ // color-background-plain should always be defined.
+ background-color: var(--color-background-plain, var(--color-main-background));
+ // user background, or plain color
+ background-image: var(--image-background);
+ background-size: cover;
+ background-position: center;
+ position: fixed;
+ width: 100%;
+ height: calc(100vh - env(safe-area-inset-bottom));
+}
+
+/* BASE STYLING ------------------------------------------------------------ */
+// no h1 allowed since h1 = logo
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-weight: 600;
+ line-height: 1.5;
+ margin-top: 24px;
+ margin-bottom: 12px;
+ color: var(--color-main-text);
+}
+
+h2 {
+ font-size: 1.8em;
+}
+
+h3 {
+ font-size: 1.6em;
+}
+
+h4 {
+ font-size: 1.4em;
+}
+
+h5 {
+ font-size: 1.25em;
+}
+
+h6 {
+ font-size: 1.1em;
+}
+
+/* do not use italic typeface style, instead lighter color */
+em {
+ font-style: normal;
+ color: var(--color-text-maxcontrast);
+}
+
+dl {
+ padding: 12px 0;
+}
+
+dt,
+dd {
+ display: inline-block;
+ padding: 12px;
+ padding-inline-start: 0;
+}
+
+dt {
+ width: 130px;
+ white-space: nowrap;
+ text-align: end;
+}
+
+kbd {
+ padding: 4px 10px;
+ border: 1px solid #ccc;
+ box-shadow: 0 1px 0 rgba(0, 0, 0, .2);
+ border-radius: var(--border-radius);
+ display: inline-block;
+ white-space: nowrap;
+}
+
+
+/* APP STYLING ------------------------------------------------------------ */
+
+#content[class*='app-'] * {
+ box-sizing: border-box;
+}
+
+/* APP-NAVIGATION ------------------------------------------------------------ */
+/* Navigation: folder like structure */
+#app-navigation:not(.vue) {
+ // Ensure the maxcontrast color is set for the background
+ --color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));
+ width: variables.$navigation-width;
+ z-index: 500;
+ overflow-y: auto;
+ overflow-x: hidden;
+ background-color: var(--color-main-background-blur);
+ backdrop-filter: var(--filter-background-blur);
+ -webkit-backdrop-filter: var(--filter-background-blur); -webkit-user-select: none;
+ position: sticky;
+ height: 100%;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ display: flex;
+ flex-direction: column;
+ flex-grow: 0;
+ flex-shrink: 0;
+
+ .app-navigation-caption {
+ font-weight: bold;
+ line-height: var(--default-clickable-area);
+ padding: 10px var(--default-clickable-area) 0 var(--default-clickable-area);
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ box-shadow: none !important;
+ user-select: none;
+ pointer-events:none;
+ margin-inline-start: 10px;
+ }
+}
+
+.app-navigation-personal,
+.app-navigation-administration {
+
+ /* 'New' button */
+ .app-navigation-new {
+ display: block;
+ padding: calc(var(--default-grid-baseline) * 2);
+ button {
+ display: inline-block;
+ width: 100%;
+ padding: 10px;
+ padding-inline-start: 34px;
+ text-align: start;
+ margin: 0;
+ }
+ }
+
+ li {
+ position: relative;
+ }
+ > ul {
+ position: relative;
+ height: 100%;
+ width: 100%;
+ overflow-x: hidden;
+ overflow-y: auto;
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ padding: calc(var(--default-grid-baseline) * 2);
+ padding-bottom: 0;
+
+ &:last-child {
+ padding-bottom: calc(var(--default-grid-baseline) * 2);
+ }
+
+ > li {
+ display: inline-flex;
+ flex-wrap: wrap;
+ order: 1;
+ flex-shrink: 0;
+ margin: 0;
+ margin-bottom: 3px;
+ width: 100%;
+ border-radius: var(--border-radius-element);
+
+ /* Pinned-to-bottom entries */
+ &.pinned {
+ order: 2;
+ &.first-pinned {
+ margin-top: auto !important;
+ }
+ }
+
+ > .app-navigation-entry-deleted {
+ /* Ugly hack for overriding the main entry link */
+ padding-inline-start: var(--default-clickable-area) !important;
+ }
+ > .app-navigation-entry-edit {
+ /* Ugly hack for overriding the main entry link */
+ /* align the input correctly with the link text
+ 44px-6px padding for the input */
+ padding-inline-start: calc(var(--default-clickable-area) - 6px) !important;
+ }
+
+ a:hover,
+ a:focus {
+ &,
+ > a {
+ background-color: var(--color-background-hover);
+ }
+ }
+ a:focus-visible {
+ box-shadow: 0 0 0 4px var(--color-main-background);
+ outline: 2px solid var(--color-main-text);
+ }
+ &.active,
+ a:active,
+ a.selected ,
+ a.active {
+ &,
+ > a {
+ background-color: var(--color-primary-element);
+ color: var(--color-primary-element-text);
+
+ &:first-child > img {
+ filter: var(--primary-invert-if-dark);
+ }
+ }
+ }
+
+ /* align loader */
+ &.icon-loading-small:after {
+ inset-inline-start: 22px;
+ top: 22px;
+ }
+
+ /* hide deletion/collapse of subitems */
+ &.deleted,
+ &.collapsible:not(.open) {
+ > ul {
+ // NO ANIMATE because if not really hidden, we can still tab through it
+ display: none;
+ }
+ }
+
+ /* Second level nesting for lists */
+ > ul {
+ flex: 0 1 auto;
+ width: 100%;
+ position: relative;
+ > li {
+ display: inline-flex;
+ flex-wrap: wrap;
+ padding-inline-start: var(--default-clickable-area);
+ width: 100%;
+ margin-bottom: 3px;
+
+ &:hover,
+ &:focus {
+ &,
+ > a {
+ border-radius: var(--border-radius-element);
+ background-color: var(--color-background-hover);
+ }
+ }
+ &.active,
+ a.selected {
+ &,
+ > a {
+ border-radius: var(--border-radius-element);
+ background-color: var(--color-primary-element-light);
+ &:first-child > img {
+ filter: var(--primary-invert-if-dark);
+ }
+ }
+ }
+
+ /* align loader */
+ &.icon-loading-small:after {
+ inset-inline-start: calc(var(--default-clickable-area) / 2);
+ }
+
+ > .app-navigation-entry-deleted {
+ /* margin to keep active indicator visible */
+ margin-inline-start: 4px;
+ padding-inline-start: 84px;
+ }
+
+ > .app-navigation-entry-edit {
+ /* margin to keep active indicator visible */
+ margin-inline-start: 4px;
+ /* align the input correctly with the link text
+ 44px+44px-4px-6px padding for the input */
+ padding-inline-start: calc(2 * var(--default-clickable-area) - 10px) !important;
+ }
+ }
+ }
+ }
+ /* Menu and submenu */
+ > li,
+ > li > ul > li {
+ position: relative;
+ box-sizing: border-box;
+ /* hide icons if loading */
+ &.icon-loading-small {
+ > a,
+ > .app-navigation-entry-bullet {
+ /* hide icon or bullet if loading state*/
+ background: transparent !important;
+ }
+ }
+ /* Main entry link */
+ > a {
+ background-size: 16px 16px;
+ background-repeat: no-repeat;
+ display: block;
+ justify-content: space-between;
+ line-height: var(--default-clickable-area);
+ min-height: var(--default-clickable-area);
+ padding-block: 0;
+ padding-inline: calc(2 * var(--default-grid-baseline));
+ overflow: hidden;
+ box-sizing: border-box;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ border-radius: var(--border-radius-element);
+ color: var(--color-main-text);
+ flex: 1 1 0px;
+ z-index: 100; /* above the bullet to allow click*/
+ /* TODO: forbid using img as icon in menu? */
+
+ &.svg {
+ padding-block: 0;
+ padding-inline: var(--default-clickable-area) 12px;
+ :focus-visible {
+ padding-block: 0;
+ padding-inline: calc(var(--default-clickable-area) - 2px) 8px;
+ }
+ }
+ &:first-child img {
+ margin-inline-end: calc(2 * var(--default-grid-baseline)) !important;
+ width: 16px;
+ height: 16px;
+ // Legacy invert if bright background
+ filter: var(--background-invert-if-dark);
+ }
+
+ /* counter can also be inside the link */
+ > .app-navigation-entry-utils {
+ display: inline-block;
+ /* Check Floating fix below */
+ .app-navigation-entry-utils-counter {
+ padding-inline-end: 0 !important;
+ }
+ }
+ }
+ /* Bullet icon */
+ > .app-navigation-entry-bullet {
+ position: absolute;
+ display: block;
+ margin: 16px;
+ width: 12px;
+ height: 12px;
+ border: none;
+ border-radius: 50%;
+ cursor: pointer;
+ transition: background 100ms ease-in-out;
+
+ + a {
+ /* hide icon if bullet, can't have both */
+ background: transparent !important;
+ }
+ }
+
+ /* popover fix the flex positionning of the li parent */
+ > .app-navigation-entry-menu {
+ top: var(--default-clickable-area);
+ }
+
+ /* show edit/undo field if editing/deleted */
+ &.editing .app-navigation-entry-edit {
+ opacity: 1;
+ z-index: 250;
+ }
+ &.deleted .app-navigation-entry-deleted {
+ transform: translateX(0);
+ z-index: 250;
+ }
+ }
+ }
+ &.hidden {
+ display: none;
+ }
+
+ /**
+ * Button styling for menu, edit and undo
+ */
+ .app-navigation-entry-utils .app-navigation-entry-utils-menu-button > button,
+ .app-navigation-entry-deleted .app-navigation-entry-deleted-button {
+ border: 0;
+ opacity: 0.5;
+ background-color: transparent;
+ background-repeat: no-repeat;
+ background-position: center;
+ &:hover,
+ &:focus {
+ background-color: transparent;
+ opacity: 1;
+ }
+ }
+
+ /**
+ * Collapsible menus
+ */
+ .collapsible {
+ /* Fallback for old collapse button.
+ TODO: to be removed. Leaved here for retro compatibility */
+ .collapse {
+ opacity: 0;
+ position: absolute;
+ width: var(--default-clickable-area);
+ height: var(--default-clickable-area);
+ margin: 0;
+ z-index: 110;
+
+ /* Needed for IE11; otherwise the button appears to the right of the
+ * link. */
+ inset-inline-start: 0;
+
+ &:focus-visible {
+ opacity: 1;
+ border-width: 0;
+ box-shadow: inset 0 0 0 2px var(--color-primary-element);
+ background: none;
+ }
+ }
+ &:before {
+ position: absolute;
+ height: var(--default-clickable-area);
+ width: var(--default-clickable-area);
+ margin: 0;
+ padding: 0;
+ background: none;
+ @include functions.icon-color('triangle-s', 'actions', variables.$color-black, 1, true);
+ background-size: 16px;
+ background-repeat: no-repeat;
+ background-position: center;
+ border: none;
+ outline: none !important;
+ box-shadow: none;
+ content: ' ';
+ opacity: 0;
+ -webkit-transform: rotate(-90deg);
+ -ms-transform: rotate(-90deg);
+ transform: rotate(-90deg);
+ z-index: 105; // above a, under button
+ border-radius: 50%;
+ transition: opacity variables.$animation-quick ease-in-out;
+
+
+ }
+
+ /* force padding on link no matter if 'a' has an icon class */
+ > a:first-child {
+ padding-inline-start: var(--default-clickable-area);
+ }
+ &:hover,
+ &:focus {
+ &:before {
+ opacity: 1;
+ }
+ > a {
+ background-image: none;
+ }
+ > .app-navigation-entry-bullet {
+ background: transparent !important;
+ }
+ }
+ &.open {
+ &:before {
+ -webkit-transform: rotate(0);
+ -ms-transform: rotate(0);
+ transform: rotate(0);
+ }
+ }
+ }
+
+ /**
+ * App navigation utils, buttons and counters for drop down menu
+ */
+ .app-navigation-entry-utils {
+ flex: 0 1 auto;
+ ul {
+ display: flex !important;
+ align-items: center;
+ justify-content: flex-end;
+ }
+ li {
+ width: var(--default-clickable-area) !important;
+ height: var(--default-clickable-area);
+ }
+ button {
+ height: 100%;
+ width: 100%;
+ margin: 0;
+ box-shadow: none;
+ }
+ .app-navigation-entry-utils-menu-button {
+ /* Prevent bg img override if an icon class is set */
+ button:not([class^='icon-']):not([class*=' icon-']) {
+ @include functions.icon-color('more', 'actions', variables.$color-black, 1, true);
+ }
+ &:hover button,
+ &:focus button {
+ background-color: transparent;
+ opacity: 1;
+ }
+ }
+ .app-navigation-entry-utils-counter {
+ overflow: hidden;
+ text-align: end;
+ font-size: 9pt;
+ line-height: var(--default-clickable-area);
+ padding: 0 12px; /* Same padding as all li > a in the app-navigation */
+
+ &.highlighted {
+ padding: 0;
+ text-align: center;
+ span {
+ padding: 2px 5px;
+ border-radius: 10px;
+ background-color: var(--color-primary-element);
+ color: var(--color-primary-element-text);
+ }
+ }
+ }
+ }
+
+ /**
+ * Editable entries
+ */
+ .app-navigation-entry-edit {
+ padding-inline: 5px;
+ display: block;
+ width: calc(100% - 1px); /* Avoid border overlapping */
+ transition: opacity 250ms ease-in-out;
+ opacity: 0;
+ position: absolute;
+ background-color: var(--color-main-background);
+ z-index: -1;
+ form,
+ div {
+ display: inline-flex;
+ width: 100%;
+ }
+ input {
+ padding: 5px;
+ margin-inline-end: 0;
+ height: 38px;
+ &:hover,
+ &:focus {
+ /* overlapp borders */
+ z-index: 1;
+ }
+ }
+ input[type='text'] {
+ width: 100%;
+ min-width: 0; /* firefox hack: override auto */
+ border-end-end-radius: 0;
+ border-start-end-radius: 0;
+ }
+ button,
+ input:not([type='text']) {
+ width: 36px;
+ height: 38px;
+ flex: 0 0 36px;
+ &:not(:last-child) {
+ border-radius: 0 !important;
+ }
+ &:not(:first-child) {
+ margin-inline-start: -1px;
+ }
+ &:last-child {
+ border-end-end-radius: var(--border-radius);
+ border-start-end-radius: var(--border-radius);
+ border-end-start-radius: 0;
+ border-start-start-radius: 0;
+ }
+ }
+ }
+
+ /**
+ * Deleted entries with undo button
+ */
+ .app-navigation-entry-deleted {
+ display: inline-flex;
+ padding-inline-start: var(--default-clickable-area);
+ transform: translateX(#{variables.$navigation-width});
+ .app-navigation-entry-deleted-description {
+ position: relative;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ flex: 1 1 0px;
+ line-height: var(--default-clickable-area);
+ }
+ .app-navigation-entry-deleted-button {
+ margin: 0;
+ height: var(--default-clickable-area);
+ width: var(--default-clickable-area);
+ line-height: var(--default-clickable-area);
+ &:hover,
+ &:focus {
+ opacity: 1;
+ }
+ }
+ }
+
+ /**
+ * Common rules for animation of undo and edit entries
+ */
+ .app-navigation-entry-edit,
+ .app-navigation-entry-deleted {
+ width: calc(100% - 1px); /* Avoid border overlapping */
+ transition: transform 250ms ease-in-out,
+ opacity 250ms ease-in-out,
+ z-index 250ms ease-in-out;
+ position: absolute;
+ inset-inline-start: 0;
+ background-color: var(--color-main-background);
+ box-sizing: border-box;
+ }
+
+ /**
+ * drag and drop
+ */
+ .drag-and-drop {
+ -webkit-transition: padding-bottom 500ms ease 0s;
+ transition: padding-bottom 500ms ease 0s;
+ padding-bottom: 40px;
+ }
+
+ .error {
+ color: var(--color-error);
+ }
+
+ .app-navigation-entry-utils ul,
+ .app-navigation-entry-menu ul {
+ list-style-type: none;
+ }
+}
+
+/* Floating and background-position fix */
+/* Cannot use inline-start and :dir to support Samsung Internet */
+body[dir='ltr'] {
+ .app-navigation-personal,
+ .app-navigation-administration {
+ .app-navigation-new button {
+ background-position: left 10px center;
+ }
+
+ > ul > li > ul > li > a {
+ background-position: left 14px center;
+
+ > .app-navigation-entry-utils {
+ float: right;
+ }
+ }
+ }
+}
+
+body[dir='rtl'] {
+ .app-navigation-personal,
+ .app-navigation-administration {
+ .app-navigation-new button {
+ background-position: right 10px center;
+ }
+
+ > ul > li > ul > li > a {
+ background-position: right 14px center;
+
+ > .app-navigation-entry-utils {
+ float: left;
+ }
+ }
+ }
+}
+
+/* CONTENT --------------------------------------------------------- */
+#content {
+ box-sizing: border-box;
+ position: static;
+ margin: var(--body-container-margin);
+ margin-top: var(--header-height);
+ padding: 0;
+ display: flex;
+ width: calc(100% - var(--body-container-margin) * 2);
+ height: var(--body-height);
+ border-radius: var(--body-container-radius);
+ overflow: clip;
+
+ &:not(.with-sidebar--full) {
+ position: fixed;
+ }
+}
+
+@media only screen and (max-width: variables.$breakpoint-mobile) {
+ #content {
+ border-start-start-radius: var(--border-radius-large);
+ border-start-end-radius: var(--border-radius-large);
+ }
+ #app-navigation {
+ border-start-start-radius: var(--border-radius-large);
+ }
+ #app-sidebar {
+ border-start-end-radius: var(--border-radius-large);
+ }
+}
+
+/* APP-CONTENT AND WRAPPER ------------------------------------------ */
+/* Part where the content will be loaded into */
+
+/**
+ * !Important. We are defining the minimum requirement we want for flex
+ * Just before the mobile breakpoint we have variables.$breakpoint-mobile (1024px) - variables.$navigation-width
+ * -> 468px. In that case we want 200px for the list and 268px for the content
+ */
+$min-content-width: variables.$breakpoint-mobile - variables.$navigation-width - variables.$list-min-width;
+
+#app-content {
+ z-index: 1000;
+ background-color: var(--color-main-background);
+ flex-basis: 100vw;
+ overflow: auto;
+ position: initial;
+ height: 100%;
+ /* margin if navigation element is here */
+ /* no top border for first settings item */
+ > .section:first-child {
+ border-top: none;
+ }
+
+ /* if app-content-list is present */
+ #app-content-wrapper {
+ display: flex;
+ position: relative;
+ align-items: stretch;
+ /* make sure we have at least full height for loaders or such
+ no need for list/details since we have a flex stretch */
+ min-height: 100%;
+
+ /* CONTENT DETAILS AFTER LIST*/
+ .app-content-details {
+ /* grow full width */
+ flex: 1 1 $min-content-width;
+ #app-navigation-toggle-back {
+ display: none;
+ }
+ }
+ }
+
+ &::-webkit-scrollbar-button {
+ height: var(--body-container-radius);
+ }
+}
+
+/* APP-SIDEBAR ------------------------------------------------------------ */
+/*
+ Sidebar: a sidebar to be used within #content
+ #app-content will be shrinked properly
+*/
+#app-sidebar {
+ width: 27vw;
+ min-width: variables.$sidebar-min-width;
+ max-width: variables.$sidebar-max-width;
+ display: block;
+ position: -webkit-sticky;
+ position: sticky;
+ top: variables.$header-height;
+ inset-inline-end:0;
+ overflow-y: auto;
+ overflow-x: hidden;
+ z-index: 1500;
+ opacity: 0.7px;
+ height: calc(100vh - #{variables.$header-height});
+ background: var(--color-main-background);
+ border-inline-start: 1px solid var(--color-border);
+ flex-shrink: 0;
+ // no animations possible, use OC.Apps.showAppSidebar
+ &.disappear {
+ display: none;
+ }
+}
+
+
+/* APP-SETTINGS ------------------------------------------------------------ */
+/* settings area */
+#app-settings {
+ // To the bottom w/ flex
+ margin-top: auto;
+ &.open,
+ &.opened {
+ #app-settings-content {
+ display: block;
+ }
+ }
+}
+
+#app-settings-content {
+ display: none;
+ padding: calc(var(--default-grid-baseline) * 2);
+ padding-top: 0;
+ padding-inline-start: calc(var(--default-grid-baseline) * 4);
+ /* restrict height of settings and make scrollable */
+ max-height: 300px;
+ overflow-y: auto;
+ box-sizing: border-box;
+
+ /* display input fields at full width */
+ input[type='text'] {
+ width: 93%;
+ }
+
+ .info-text {
+ padding-block: 5px 7px;
+ padding-inline: 22px 0;
+ color: var(--color-text-lighter);
+ }
+ input {
+ &[type='checkbox'],
+ &[type='radio'] {
+ &.radio,
+ &.checkbox {
+ + label {
+ display: inline-block;
+ width: 100%;
+ padding: 5px 0;
+ }
+ }
+ }
+ }
+}
+
+#app-settings-header {
+ box-sizing: border-box;
+ background-color: transparent;
+ overflow: hidden;
+ border-radius: calc(var(--default-clickable-area) / 2);
+ padding: calc(var(--default-grid-baseline) * 2);
+ padding-top: 0;
+
+ .settings-button {
+ display: flex;
+ align-items: center;
+ height: var(--default-clickable-area);
+ width: 100%;
+ padding: 0;
+ margin: 0;
+ background-color: transparent;
+ box-shadow: none;
+ border: 0;
+ border-radius: calc(var(--default-clickable-area) / 2);
+ text-align: start;
+ font-weight: normal;
+ font-size: 100%;
+ opacity: 0.8;
+
+ /* like app-navigation a */
+ color: var(--color-main-text);
+
+ &.opened {
+ border-top: solid 1px var(--color-border);
+ background-color: var(--color-main-background);
+ margin-top: 8px;
+ }
+ &:hover,
+ &:focus {
+ background-color: var(--color-background-hover);
+ }
+
+ &::before {
+ background-image: var(--icon-settings-dark);
+ background-repeat: no-repeat;
+ content: '';
+ width: var(--default-clickable-area);
+ height: var(--default-clickable-area);
+ top: 0;
+ inset-inline-start: 0;
+ display: block;
+ }
+
+ &:focus-visible {
+ box-shadow: 0 0 0 2px inset var(--color-primary-element) !important;
+ }
+ }
+}
+
+/* Background-position fix */
+body[dir='ltr'] #app-settings-header .settings-button {
+ &::before {
+ background-position: left 14px center;
+ }
+ &:focus-visible {
+ background-position: left 12px center;
+ }
+}
+
+body[dir='rtl'] #app-settings-header .settings-button {
+ &::before {
+ background-position: right 14px center;
+ }
+ &:focus-visible {
+ background-position: right 12px center;
+ }
+}
+/* GENERAL SECTION ------------------------------------------------------------ */
+.section {
+ display: block;
+ padding: 30px;
+ margin-bottom: 24px;
+ &.hidden {
+ display: none !important;
+ }
+ /* slight position correction of checkboxes and radio buttons */
+ input {
+ &[type='checkbox'],
+ &[type='radio'] {
+ vertical-align: -2px;
+ margin-inline-end: 4px;
+ }
+ }
+}
+
+.sub-section {
+ position: relative;
+ margin-top: 10px;
+ margin-inline-start: 27px;
+ margin-bottom: 10px;
+}
+
+.appear {
+ opacity: 1;
+ -webkit-transition: opacity 500ms ease 0s;
+ -moz-transition: opacity 500ms ease 0s;
+ -ms-transition: opacity 500ms ease 0s;
+ -o-transition: opacity 500ms ease 0s;
+ transition: opacity 500ms ease 0s;
+ &.transparent {
+ opacity: 0;
+ }
+}
+
+/* TABS ------------------------------------------------------------ */
+.tabHeaders {
+ display: flex;
+ margin-bottom: 16px;
+
+ .tabHeader {
+ display: flex;
+ flex-direction: column;
+ flex-grow: 1;
+ text-align: center;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ cursor: pointer;
+ color: var(--color-text-lighter);
+ margin-bottom: 1px;
+ padding: 5px;
+
+ &.hidden {
+ display: none;
+ }
+
+ /* Use same amount as sidebar padding */
+ &:first-child {
+ padding-inline-start: 15px;
+ }
+ &:last-child {
+ padding-inline-end: 15px;
+ }
+
+ .icon {
+ display: inline-block;
+ width: 100%;
+ height: 16px;
+ background-size: 16px;
+ vertical-align: middle;
+ margin-top: -2px;
+ margin-inline-end: 3px;
+ opacity: .7;
+ cursor: pointer;
+ }
+
+ a {
+ color: var(--color-text-lighter);
+ margin-bottom: 1px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ &.selected {
+ font-weight: bold;
+ }
+ &.selected,
+ &:hover,
+ &:focus {
+ margin-bottom: 0px;
+ color: var(--color-main-text);
+ border-bottom: 1px solid var(--color-text-lighter);
+ }
+ }
+}
+
+.tabsContainer {
+ .tab {
+ padding: 0 15px 15px;
+ }
+}
+
+/* Cannot use inline-start to support Samsung Internet*/
+body[dir='ltr'] .tabsContainer {
+ clear: left;
+}
+
+body[dir='rtl'] .tabsContainer {
+ clear: right;
+}
+
+/* POPOVER MENU ------------------------------------------------------------ */
+$popoveritem-height: 34px;
+$popovericon-size: 16px;
+$outter-margin: math.div($popoveritem-height - $popovericon-size, 2);
+
+.v-popper__inner div.open > ul {
+ > li > a > span.action-link__icon,
+ > li > a > span.action-router__icon,
+ > li > a > img {
+ filter: var(--background-invert-if-dark);
+
+ // We do not want to invert the color of the user_status emoji:
+ // https://github.com/nextcloud/nextcloud-vue/blob/8899087f8f8d45e0ed744bde9faa00b625a21905/src/components/NcAvatar/NcAvatar.vue#L495
+ &[src^="data"] {
+ filter: none;
+ }
+ }
+}
+
+.bubble,
+.app-navigation-entry-menu,
+.popovermenu {
+ position: absolute;
+ background-color: var(--color-main-background);
+ color: var(--color-main-text);
+ border-radius: var(--border-radius-large);
+ padding: 3px;
+ z-index: 110;
+ margin: 5px;
+ margin-top: -5px;
+ inset-inline-end: 0;
+ filter: drop-shadow(0 1px 3px var(--color-box-shadow));
+ display: none;
+ will-change: filter;
+
+ &:after {
+ bottom: 100%;
+ // Required right-distance is half menu icon size + right padding
+ // = 16px/2 + 14px = 22px
+ // popover right margin is 5px, arrow width is 9px to center and border is 1px
+ // 22px - 9px - 5px - 1px = 7px
+ inset-inline-end: 7px;
+ /* change this to adjust the arrow position */
+ border: solid transparent;
+ content: ' ';
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none;
+ border-bottom-color: var(--color-main-background);
+ border-width: 9px;
+ }
+ /* Center the popover */
+ &.menu-center {
+ transform: translateX(50%);
+ inset-inline-end: 50%;
+ margin-inline-end: 0;
+ &:after {
+ inset-inline-end: 50%;
+ transform: translateX(50%);
+ }
+ }
+ /* Align the popover to the left */
+ &.menu-left {
+ inset-inline: 0 auto;
+ margin-inline-end: 0;
+ &:after {
+ inset-inline: 6px auto;
+ }
+ }
+
+ &.open {
+ display: block;
+ }
+
+ &.contactsmenu-popover {
+ margin: 0;
+ }
+
+ ul {
+ /* Overwrite #app-navigation > ul ul */
+ display: flex !important;
+ flex-direction: column;
+ }
+ li {
+ display: flex;
+ flex: 0 0 auto;
+
+ &.hidden {
+ display: none;
+ }
+
+ > button,
+ > a,
+ > .menuitem {
+ cursor: pointer;
+ line-height: $popoveritem-height;
+ border: 0;
+ border-radius: var(--border-radius-large);
+ background-color: transparent;
+ display: flex;
+ align-items: flex-start;
+ height: auto;
+ margin: 0;
+ font-weight: normal;
+ box-shadow: none;
+ width: 100%;
+ color: var(--color-main-text);
+ white-space: nowrap;
+
+ span[class^='icon-'],
+ span[class*=' icon-'],
+ &[class^='icon-'],
+ &[class*=' icon-'] {
+ min-width: 0; /* Overwrite icons*/
+ min-height: 0;
+ background-position: #{math.div($popoveritem-height - $popovericon-size, 2)} center;
+ background-size: $popovericon-size;
+ }
+ span[class^='icon-'],
+ span[class*=' icon-'] {
+ /* Keep padding to define the width to
+ assure correct position of a possible text */
+ padding: #{math.div($popoveritem-height, 2)} 0 #{math.div($popoveritem-height, 2)} $popoveritem-height;
+ }
+ // If no icons set, force left margin to align
+ &:not([class^='icon-']):not([class*='icon-']) {
+ > span,
+ > input,
+ > form {
+ &:not([class^='icon-']):not([class*='icon-']):first-child {
+ margin-inline-start: $popoveritem-height;
+ }
+ }
+ }
+ &[class^='icon-'],
+ &[class*=' icon-'] {
+ padding: 0 #{math.div($popoveritem-height - $popovericon-size, 2)} 0 $popoveritem-height !important;
+ }
+ &:hover,
+ &:focus {
+ background-color: var(--color-background-hover);
+ }
+ &:focus,
+ &:focus-visible {
+ box-shadow: 0 0 0 2px var(--color-primary-element);
+ }
+ &.active {
+ border-radius: var(--border-radius-element);
+ background-color: var(--color-primary-element-light);
+ }
+ /* prevent .action class to break the design */
+ &.action {
+ padding: inherit !important;
+ }
+ > span {
+ cursor: pointer;
+ white-space: nowrap;
+ }
+ > p {
+ width: 150px;
+ line-height: 1.6em;
+ padding: 8px 0;
+ white-space: normal;
+ }
+ > select {
+ margin: 0;
+ margin-inline-start: 6px;
+ }
+ /* Add padding if contains icon+text */
+ &:not(:empty) {
+ padding-inline-end: $outter-margin !important;
+ }
+ /* DEPRECATED! old img in popover fallback
+ * TODO: to remove */
+ > img {
+ width: $popovericon-size;
+ padding: #{math.div($popoveritem-height - $popovericon-size, 2)};
+ }
+ /* checkbox/radio fixes */
+ > input.radio + label,
+ > input.checkbox + label {
+ padding: 0 !important;
+ width: 100%;
+ }
+ > input.checkbox + label::before {
+ margin: -2px 13px 0;
+ }
+ > input.radio + label::before {
+ margin: -2px 12px 0;
+ }
+ > input:not([type=radio]):not([type=checkbox]):not([type=image]) {
+ width: 150px;
+ }
+ form {
+ display: flex;
+ flex: 1 1 auto;
+ /* put a small space between text and form
+ if there is an element before */
+ align-items: center;
+ &:not(:first-child) {
+ margin-inline-start: 5px;
+ }
+ }
+ /* no margin if hidden span before */
+ > span.hidden + form,
+ > span[style*='display:none'] + form {
+ margin-inline-start: 0;
+ }
+ /* Inputs inside popover supports text, submit & reset */
+ input {
+ min-width: $popoveritem-height;
+ max-height: #{$popoveritem-height - 4px}; /* twice the element margin-y */
+ margin: 2px 0;
+ flex: 1 1 auto;
+ // space between inline inputs
+ &:not(:first-child) {
+ margin-inline-start: 5px;
+ }
+ }
+ }
+ /* css hack, only first not hidden */
+ &:not(.hidden):not([style*='display:none']) {
+ &:first-of-type {
+ > button, > a, > .menuitem {
+ > form, > input {
+ margin-top: $outter-margin - 2px; // minus the input margin
+ }
+ }
+ }
+ &:last-of-type {
+ > button, > a, > .menuitem {
+ > form, > input {
+ margin-bottom: 0px;
+ }
+ }
+ }
+ }
+ > button {
+ padding: 0;
+ span {
+ opacity: 1;
+ }
+ }
+
+ }
+}
+
+.popovermenu {
+ li {
+ > button,
+ > a,
+ > .menuitem {
+ /* DEPRECATED! old img in popover fallback
+ * TODO: to remove */
+ > img {
+ width: $popoveritem-height;
+ height: $popoveritem-height;
+ }
+ }
+ }
+}
+
+#contactsmenu .contact .popovermenu {
+ li {
+ > a {
+ > img {
+ width: 16px;
+ height: 16px;
+ }
+ }
+ }
+}
+
+/* CONTENT LIST ------------------------------------------------------------ */
+.app-content-list {
+ position: -webkit-sticky;
+ position: relative;
+ top: 0;
+ border-inline-end: 1px solid var(--color-border);
+ display: flex;
+ flex-direction: column;
+ transition: transform 250ms ease-in-out;
+ min-height: 100%;
+ max-height: 100%;
+ overflow-y: auto;
+ overflow-x: hidden;
+ flex: 1 1 variables.$list-min-width;
+ min-width: variables.$list-min-width;
+ max-width: variables.$list-max-width;
+
+ /* Default item */
+ .app-content-list-item {
+ position: relative;
+ height: 68px;
+ cursor: pointer;
+ padding: 10px 7px;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ flex: 0 0 auto;
+
+ /* Icon fixes */
+ &,
+ > .app-content-list-item-menu {
+ > [class^='icon-'],
+ > [class*=' icon-'] {
+ order: 4;
+ width: 24px;
+ height: 24px;
+ margin: -7px; // right padding of item
+ padding: 22px;
+ opacity: .3;
+ cursor: pointer;
+ &:hover,
+ &:focus {
+ opacity: .7;
+ }
+ &[class^='icon-star'],
+ &[class*=' icon-star'] {
+ opacity: .7;
+ &:hover,
+ &:focus {
+ opacity: 1 ;
+ }
+
+ }
+ &.icon-starred {
+ opacity: 1 ;
+ }
+ }
+ }
+
+ &:hover,
+ &:focus,
+ &.active {
+ background-color: var(--color-background-dark);
+ // display checkbox on hover/focus/active
+ .app-content-list-item-checkbox.checkbox + label {
+ display: flex;
+ }
+ }
+
+ .app-content-list-item-checkbox.checkbox + label,
+ .app-content-list-item-star {
+ position: absolute;
+ height: 40px;
+ width: 40px;
+ z-index: 50;
+ }
+
+ .app-content-list-item-checkbox.checkbox {
+ &:checked,
+ &:hover,
+ &:focus,
+ &.active {
+ + label {
+ // display checkbox if checked
+ display: flex;
+ // if checked, lower the opacity of the avatar
+ + .app-content-list-item-icon {
+ opacity: .7;
+ }
+ }
+ }
+ + label {
+ top: 14px;
+ inset-inline-start: 7px;
+ // hidden by default, only chown on hover-focus or if checked
+ display: none;
+ &::before {
+ margin: 0;
+ }
+ /* Hide the star, priority to the checkbox */
+ ~ .app-content-list-item-star {
+ display: none;
+ }
+ }
+ }
+
+ .app-content-list-item-star {
+ display: flex;
+ top: 10px;
+ inset-inline-start: 32px;
+ background-size: 16px;
+ height: 20px;
+ width: 20px;
+ margin: 0;
+ padding: 0;
+ }
+
+ .app-content-list-item-icon {
+ position: absolute;
+ display: inline-block;
+ height: 40px;
+ width: 40px;
+ line-height: 40px;
+ border-radius: 50%;
+ vertical-align: middle;
+ margin-inline-end: 10px;
+ color: #fff;
+ text-align: center;
+ font-size: 1.5em;
+ text-transform: capitalize;
+ object-fit: cover;
+ user-select: none;
+ cursor: pointer;
+ top: 50%;
+ margin-top: -20px;
+ }
+
+ .app-content-list-item-line-one,
+ .app-content-list-item-line-two {
+ display: block;
+ padding-inline: 50px 10px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ order: 1;
+ flex: 1 1 0px;
+ cursor: pointer;
+ }
+
+ .app-content-list-item-line-two {
+ opacity: .5;
+ order: 3;
+ flex: 1 0;
+ flex-basis: calc(100% - var(--default-clickable-area));
+ }
+
+ .app-content-list-item-details {
+ order: 2;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ max-width: 100px;
+ opacity: .5;
+ font-size: 80%;
+ user-select: none;
+ }
+
+ .app-content-list-item-menu {
+ order: 4;
+ position: relative;
+ .popovermenu {
+ margin: 0;
+ // action icon have -7px margin
+ // default popover is normally 5px
+ inset-inline-end: -2px;
+ }
+ }
+ }
+ &.selection .app-content-list-item-checkbox.checkbox + label {
+ display: flex;
+ }
+}
+
+.button.primary.skip-navigation:focus-visible {
+ box-shadow: 0 0 0 4px var(--color-main-background) !important;
+ outline: 2px solid var(--color-main-text) !important;
+}
diff --git a/core/css/exception.css b/core/css/exception.css
new file mode 100644
index 00000000000..875c8b27b25
--- /dev/null
+++ b/core/css/exception.css
@@ -0,0 +1,4 @@
+/*!
+ * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */li{word-wrap:break-word}pre{white-space:pre-wrap;word-wrap:break-word}/*# sourceMappingURL=exception.css.map */
diff --git a/core/css/exception.css.map b/core/css/exception.css.map
new file mode 100644
index 00000000000..5f0a0d37a36
--- /dev/null
+++ b/core/css/exception.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["exception.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAKA,GACC,qBAGD,IACC,qBACA","file":"exception.css"} \ No newline at end of file
diff --git a/core/css/exception.css.map.license b/core/css/exception.css.map.license
new file mode 100644
index 00000000000..f7f52efa96f
--- /dev/null
+++ b/core/css/exception.css.map.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/exception.scss b/core/css/exception.scss
new file mode 100644
index 00000000000..2c44b54a20f
--- /dev/null
+++ b/core/css/exception.scss
@@ -0,0 +1,13 @@
+/*!
+ * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+li {
+ word-wrap: break-word;
+}
+
+pre {
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
diff --git a/core/css/fixes.css b/core/css/fixes.css
index 71cb09cae76..dc1b7e9d5ab 100644
--- a/core/css/fixes.css
+++ b/core/css/fixes.css
@@ -1,140 +1,4 @@
-/* ---- BROWSER-SPECIFIC FIXES ---- */
-
-/* remove dotted outlines in Firefox */
-::-moz-focus-inner {
- border: 0;
-}
-
-/* fix height of select boxes for OS X */
-select {
- height: 32px;
-}
-
-/* reset typeface for IE8 because OpenSans renders too small */
-.ie8 body {
- font-family: Frutiger, Calibri, 'Myriad Pro', Myriad, Arial, sans-serif;
-}
-
-.lte8 .icon-delete { background-image: url('../img/actions/delete.png'); }
-.lte8 .icon-delete:hover, .icon-delete:focus {
- background-image: url('../img/actions/delete-hover.png');
-}
-
-.ie8 .icon-checkmark {
- background-image: url('../img/actions/checkmark.png');
-}
-
-.ie8 .icon-close {
- background-image: url('../img/actions/close.png');
-}
-
-.lte9 .icon-triangle-e {
- background-image: url('../img/actions/triangle-e.png');
-}
-.lte9 .icon-triangle-n {
- background-image: url('../img/actions/triangle-n.png');
-}
-.lte9 .icon-triangle-s {
- background-image: url('../img/actions/triangle-s.png');
-}
-.lte9 .icon-settings,
-.lte9 .settings-button {
- background-image: url('../img/actions/settings.png');
-}
-
-.lte9 input[type="submit"], .lte9 input[type="button"],
-.lte9 button, .lte9 .button,
-.lte9 #quota, .lte9 select, .lte9 .pager li a {
- background-color: #f1f1f1;
-}
-
-/* IE8 needs PNG image for header logo */
-.ie8 #header .logo {
- background-image: url(../img/logo-icon-175px.png);
-}
-
-/* IE8 needs background to be set to same color to make transparency look good. */
-.lte9 #body-login form input[type="text"] {
- border: 1px solid lightgrey; /* use border to add 1px line between input fields */
- background-color: white; /* don't change background on hover */
-}
-.lte9 #body-login form input[type="password"] {
- /* leave out top border for 1px line between input fields*/
- border-left: 1px solid lightgrey;
- border-right: 1px solid lightgrey;
- border-bottom: 1px solid lightgrey;
- background-color: white; /* don't change background on hover */
-}
-.ie8 #body-login input[type="submit"] {
- padding: 10px 5px;
- margin-top: 3px;
-}
-/* for whatever unexplained reason */
-.ie8 #password {
- width: 271px !important;
- min-width: auto !important;
-}
-
-/* disable opacity of info text on gradient
- since we cannot set a good backround color to use the filter&background hack as with the input labels */
-.lte9 #body-login p.info {
- filter: initial;
-}
-
-/* deactivate show password toggle for IE. Does not work for 8 and 9+ have their own implementation. */
-.ie #show, .ie #show+label {
- display: none;
- visibility: hidden;
-}
-
-/* fix installation screen rendering issue for IE8+9 */
-.lte9 #body-login {
- min-height: 100%;
- height: auto !important;
-}
-
-/* oc-dialog only uses box shadow which is not supported by ie8 */
-.ie8 .oc-dialog {
- border: 1px solid #888888;
-}
-
-/* IE8 doesn't support transparent background - let's emulate black with an opacity of .3 on a dark blue background*/
-.ie8 fieldset .warning, .ie8 #body-login .error {
- background-color: #1B314D;
-}
-
-/* IE8 isn't able to display transparent background. So it is specified using a gradient */
-.ie8 #nojavascript {
- filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4c320000', endColorstr='#4c320000');
-}
-
-/* IE8 doesn't have rounded corners, so the strengthify bar should be wider */
-.lte8 #body-login .strengthify-wrapper {
- width: 271px;
- left: 6px;
-}
-
-/* fix background of navigation popup in IE8 */
-.ie8 #navigation,
-.ie8 #expanddiv {
- background-color: #111;
-}
-
-/* needed else IE8 will randomly hide the borders... */
-.ie8 table th#headerDate, table td.date,
-.ie8 table th.column-last, table td.column-last {
- position: static;
-}
-
-.ie8 #controls {
- background-color: white;
-}
-
-.ie8 #content-wrapper {
- overflow-y: auto;
-}
-
-.ie8 #app-navigation .app-navigation-entry-edit input {
- line-height: 38px;
-}
-
+/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */::-moz-focus-inner{border:0}/*# sourceMappingURL=fixes.css.map */
diff --git a/core/css/fixes.css.map b/core/css/fixes.css.map
new file mode 100644
index 00000000000..4df756cfa83
--- /dev/null
+++ b/core/css/fixes.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["fixes.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAOA,mBACC","file":"fixes.css"} \ No newline at end of file
diff --git a/core/css/fixes.css.map.license b/core/css/fixes.css.map.license
new file mode 100644
index 00000000000..0801c996d9d
--- /dev/null
+++ b/core/css/fixes.css.map.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/fixes.scss b/core/css/fixes.scss
new file mode 100644
index 00000000000..ceb4e47455e
--- /dev/null
+++ b/core/css/fixes.scss
@@ -0,0 +1,11 @@
+/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+/* ---- BROWSER-SPECIFIC FIXES ---- */
+
+/* remove dotted outlines in Firefox */
+::-moz-focus-inner {
+ border: 0;
+}
+
diff --git a/core/css/fonts.css b/core/css/fonts.css
deleted file mode 100644
index 2a894031e54..00000000000
--- a/core/css/fonts.css
+++ /dev/null
@@ -1,23 +0,0 @@
-/* for low-res screens, use Regular font-weight instead of Light */
-@media (-webkit-max-device-pixel-ratio: 1.3), (max-resolution: 124.8dpi) {
- @font-face {
- font-family: 'Open Sans';
- font-style: normal;
- font-weight: normal;
- src: local('Open Sans'), local('OpenSans'), url(../fonts/OpenSans-Regular.woff) format('woff');
- }
-}
-
-@font-face {
- font-family: 'Open Sans';
- font-style: normal;
- font-weight: 300;
- src: local('Open Sans Light'), local('OpenSans-Light'), url(../fonts/OpenSans-Light.woff) format('woff');
-}
-
-@font-face {
- font-family: 'Open Sans';
- font-style: normal;
- font-weight: 600;
- src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(../fonts/OpenSans-Semibold.woff) format('woff');
-}
diff --git a/core/css/functions.css b/core/css/functions.css
new file mode 100644
index 00000000000..337219305f9
--- /dev/null
+++ b/core/css/functions.css
@@ -0,0 +1,4 @@
+/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*# sourceMappingURL=functions.css.map */
diff --git a/core/css/functions.css.map b/core/css/functions.css.map
new file mode 100644
index 00000000000..b9f301c163d
--- /dev/null
+++ b/core/css/functions.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["functions.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA","file":"functions.css"} \ No newline at end of file
diff --git a/core/css/functions.css.map.license b/core/css/functions.css.map.license
new file mode 100644
index 00000000000..b62adf36215
--- /dev/null
+++ b/core/css/functions.css.map.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/functions.scss b/core/css/functions.scss
new file mode 100644
index 00000000000..8fac1ae55d5
--- /dev/null
+++ b/core/css/functions.scss
@@ -0,0 +1,50 @@
+/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+/**
+ * @see core/src/icons.js
+ */
+@function match-color-string($color) {
+ @if $color == #000 {
+ @return "dark";
+ }
+ @if $color == #fff {
+ @return 'white';
+ }
+ @if $color == #FC0 {
+ @return 'yellow';
+ }
+ @if $color == #e9322d {
+ @return 'red';
+ }
+ @if $color == #eca700 {
+ @return 'orange';
+ }
+ @if $color == #46ba61 {
+ @return 'green';
+ }
+ @if $color == #969696 {
+ @return 'grey';
+ }
+ @return $color;
+}
+
+/**
+ * SVG COLOR API
+ *
+ * @param string $icon the icon filename
+ * @param string $dir the icon folder within /core/img if $core or app name
+ * @param string $color the desired color in hexadecimal
+ * @param int $version the version of the file
+ * @param bool [$core] search icon in core
+ *
+ * @returns A background image with the url to the set to the requested icon.
+ */
+@mixin icon-color($icon, $dir, $color, $version: 1, $core: false) {
+ $color: match-color-string($color);
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ $varName: "--icon-#{$icon}-#{$color}";
+ background-image: var(#{$varName});
+}
diff --git a/core/css/global.css b/core/css/global.css
index 9511d4324fa..99075c7c92f 100644
--- a/core/css/global.css
+++ b/core/css/global.css
@@ -1,50 +1,6 @@
-/* Copyright (c) 2015, Raghu Nayyar, http://raghunayyar.com
- This file is licensed under the Affero General Public License version 3 or later.
- See the COPYING-README file. */
-
-/* Global Components */
-
-.pull-left {
- float: left;
-}
-
-.pull-right {
- float: right;
-}
-
-.clear-left {
- clear: left;
-}
-
-.clear-right {
- clear: right;
-}
-
-.clear-both {
- clear: both;
-}
-
-.hidden {
- display: none;
-}
-
-.hidden-visually {
- position: absolute;
- left:-10000px;
- top: auto;
- width: 1px;
- height: 1px;
- overflow: hidden;
-}
-
-.bold {
- font-weight:600;
-}
-
-.center {
- text-align:center;
-}
-
-.inlineblock {
- display: inline-block;
-} \ No newline at end of file
+/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2015 ownCloud Inc.
+ * SPDX-FileCopyrightText: 2015 Raghu Nayyar, http://raghunayyar.com
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */body[dir=ltr] .pull-left,body[dir=ltr] .pull-start{float:left}body[dir=ltr] .pull-right,body[dir=ltr] .pull-end{float:right}body[dir=ltr] .clear-left,body[dir=ltr] .clear-start{clear:left}body[dir=ltr] .clear-right,body[dir=ltr] .clear-end{clear:right}body[dir=rtl] .pull-left,body[dir=rtl] .pull-start{float:right}body[dir=rtl] .pull-right,body[dir=rtl] .pull-end{float:left}body[dir=rtl] .clear-left,body[dir=rtl] .clear-start{clear:right}body[dir=rtl] .clear-right,body[dir=rtl] .clear-end{clear:left}.clear-both{clear:both}.hidden{display:none}.hidden-visually{position:absolute;inset-inline-start:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}.bold{font-weight:600}.center{text-align:center}.inlineblock{display:inline-block}/*# sourceMappingURL=global.css.map */
diff --git a/core/css/global.css.map b/core/css/global.css.map
new file mode 100644
index 00000000000..bc63ddd02f3
--- /dev/null
+++ b/core/css/global.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["global.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcC,mDAEC,WAGD,kDAEC,YAGD,qDAEC,WAGD,oDAEC,YAKD,mDAEC,YAGD,kDAEC,WAGD,qDAEC,YAGD,oDAEC,WAIF,YACC,WAGD,QACC,aAGD,iBACC,kBACA,4BACA,aACA,UACA,WACA,gBAGD,MACC,gBAGD,QACC,kBAGD,aACC","file":"global.css"} \ No newline at end of file
diff --git a/core/css/global.css.map.license b/core/css/global.css.map.license
new file mode 100644
index 00000000000..d18caeb1ad4
--- /dev/null
+++ b/core/css/global.css.map.license
@@ -0,0 +1,4 @@
+SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2015 ownCloud Inc.
+SPDX-FileCopyrightText: 2015 Raghu Nayyar, http://raghunayyar.com
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/global.scss b/core/css/global.scss
new file mode 100644
index 00000000000..de83f862786
--- /dev/null
+++ b/core/css/global.scss
@@ -0,0 +1,85 @@
+/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2015 ownCloud Inc.
+ * SPDX-FileCopyrightText: 2015 Raghu Nayyar, http://raghunayyar.com
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+/* Global Components */
+
+/* The following lines are a hacky way to adjust float and clear based on direction.
+ Samsung Internet doesn't support `inline-start|end` and :dir.
+ pull-right|left and clear-right|left are also kept for backward compatibility.
+ */
+body[dir='ltr'] {
+ .pull-left,
+ .pull-start {
+ float: left;
+ }
+
+ .pull-right,
+ .pull-end {
+ float: right;
+ }
+
+ .clear-left,
+ .clear-start {
+ clear: left;
+ }
+
+ .clear-right,
+ .clear-end {
+ clear: right;
+ }
+}
+
+body[dir='rtl'] {
+ .pull-left,
+ .pull-start {
+ float: right;
+ }
+
+ .pull-right,
+ .pull-end {
+ float: left;
+ }
+
+ .clear-left,
+ .clear-start {
+ clear: right;
+ }
+
+ .clear-right,
+ .clear-end {
+ clear: left;
+ }
+}
+
+.clear-both {
+ clear: both;
+}
+
+.hidden {
+ display: none;
+}
+
+.hidden-visually {
+ position: absolute;
+ inset-inline-start: -10000px;
+ top: -10000px;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+}
+
+.bold {
+ font-weight:600;
+}
+
+.center {
+ text-align:center;
+}
+
+.inlineblock {
+ display: inline-block;
+}
diff --git a/core/css/guest.css b/core/css/guest.css
new file mode 100644
index 00000000000..b9c9385bb04
--- /dev/null
+++ b/core/css/guest.css
@@ -0,0 +1,8 @@
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,dialog,figure,footer,header,hgroup,nav,section{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;cursor:default}html{height:100%}article,aside,dialog,figure,footer,header,hgroup,nav,section{display:block}table{border-collapse:separate;border-spacing:0;white-space:nowrap}caption,th,td{text-align:start;font-weight:normal}table,td,th{vertical-align:middle}a{border:0;color:var(--color-main-text);text-decoration:none}a,a *,input,input *,select,.button span,label{cursor:pointer}ul{list-style:none}body{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:.875em;font-weight:normal;line-height:1.6em;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Oxygen-Sans,Cantarell,Ubuntu,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";color:var(--color-background-plain-text, #ffffff);text-align:center;background-color:var(--color-background-plain, #0082c9);background-image:var(--image-background, linear-gradient(40deg, #0082c9 0%, #30b6ff 100%));background-attachment:fixed;background-size:cover;background-position:center;min-height:100%;height:auto;overflow:auto;position:static}#body-login a{font-weight:600}#body-login footer a{color:var(--color-text)}#body-login a:not(.button):hover,#body-login a:not(.button):focus{text-decoration:underline;text-decoration-skip-ink:auto}em{font-style:normal;opacity:.5}h2,h3,h4{font-weight:bold}h2{font-size:20px;margin-bottom:12px;line-height:140%}h3{font-size:15px;margin:12px 0}#header .logo{background-image:var(--image-logo, url("../../core/img/logo/logo.svg"));background-repeat:no-repeat;background-size:contain;background-position:center;width:175px;height:130px;margin:0 auto;position:relative;inset-inline-start:unset}.wrapper{width:100%;max-width:700px;margin-block:10vh auto}form{position:relative;margin:auto;padding:0}form.install-form{max-width:300px}form.install-form fieldset,form.install-form fieldset input{width:100%}form.install-form .strengthify-wrapper{bottom:17px;width:calc(100% - 8px);inset-inline-start:4px;top:unset}form.install-form #show{top:18px}form #sqliteInformation{margin-top:.5rem;margin-bottom:20px}form #adminaccount,form #use_other_db{margin-bottom:15px;text-align:start}form #adminaccount>legend,form #adminlogin{margin-bottom:1rem}form #advancedHeader{width:100%}form fieldset legend,#datadirContent label{width:100%}#datadirContent label{display:block;margin:0}form #datadirField legend{margin-bottom:15px}#showAdvanced{padding:13px}#showAdvanced img{vertical-align:middle}@media only screen and (max-width: 1024px){.wrapper{margin-top:0}}#submit-wrapper{margin:0 auto;display:flex;align-items:center;justify-content:center;padding:10px 5px;position:relative}#submit-wrapper .submit-icon{position:absolute;inset-inline-end:24px;transition:inset-inline-end 100ms ease-in-out;pointer-events:none}#submit-wrapper input.login:hover~.submit-icon.icon-confirm-white,#submit-wrapper input.login:focus~.submit-icon.icon-confirm-white,#submit-wrapper input.login:active~.submit-icon.icon-confirm-white{inset-inline-end:20px}#submit-wrapper .icon-loading-small{position:absolute;top:22px;inset-inline-end:26px}input:not([type=radio]),input:not([type=range]){border-width:2px}input:not([type=range]):focus-visible{box-shadow:none !important}input[type=submit],input[type=submit].icon-confirm,input[type=button],button,a.button,.button,select{display:inline-block;width:auto;min-width:25px;padding:calc(2*var(--default-grid-baseline));background-color:var(--color-main-background);font-weight:bold;color:var(--color-main-text);border:none;border-radius:var(--border-radius-element);cursor:pointer}.icon-confirm.input-button-inline{position:absolute;inset-inline-end:3px;top:5px}input[type=submit]:focus{box-shadow:0 0 0 2px inset var(--color-main-text) !important}input[type=text],input[type=tel],input[type=password],input[type=email]{width:266px;padding:5px 10px;color:var(--color-text-lighter);cursor:text;font-family:inherit;font-weight:normal;margin-inline:0}input[type=password].password-with-toggle,input[type=text].password-with-toggle{width:238px;padding-inline-end:40px !important}input.login{width:260px;height:50px;background-position:right 16px center}input[type=submit],input[type=submit].icon-confirm,input.updateButton,input.update-continue{padding:10px 20px;overflow:hidden;text-overflow:ellipsis}button::-moz-focus-inner,input::-moz-focus-inner{border:0}input.primary{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}input.primary:not(:disabled):hover,input.primary:not(:disabled):focus,button.primary:not(:disabled):hover,button.primary:not(:disabled):focus,a.primary:not(:disabled):hover,a.primary:not(:disabled):focus{background-color:var(--color-primary-element-hover);color:var(--color-primary-element-text)}input[type=checkbox].checkbox{position:absolute;inset-inline-start:-10000px;top:auto;width:1px;height:1px;overflow:hidden}input[type=checkbox].checkbox+label{user-select:none}input[type=checkbox].checkbox:disabled+label,input[type=checkbox].checkbox:disabled+label:before{cursor:default}input[type=checkbox].checkbox+label:before{content:"";display:inline-block;vertical-align:middle;margin:3px;margin-top:1px;border:1px solid #888;border-radius:1px;height:10px;width:10px;background-position:center}input[type=checkbox].checkbox--white+label:before{border-color:#ddd}input[type=checkbox].checkbox--white:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].checkbox--white:focus+label:before{border-color:#fff}input[type=checkbox].checkbox--white:disabled+label:before{background-color:#666 !important;border-color:#999 !important}input[type=checkbox].checkbox--white:checked:disabled+label:before{border-color:#666;background-color:#222}input[type=checkbox].checkbox--white:checked+label:before{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;background-image:url("../img/actions/checkbox-mark-white.svg")}.strengthify-wrapper{display:inline-block;position:relative;top:-20px;width:250px;border-start-start-radius:0;border-start-end-radius:0;border-end-end-radius:3px;border-end-start-radius:3px;overflow:hidden;height:3px}.tooltip-inner{font-weight:bold;padding:3px 6px;text-align:center}#show,#dbpassword-toggle{position:absolute;inset-inline-end:2px;top:-3px;display:flex;justify-content:center;width:44px;align-content:center;padding:13px}#pass2,input[name=personal-password-clone]{padding:.6em 2.5em .4em .4em;width:8em}#personal-show+label{height:14px;margin-top:-25px;inset-inline-start:295px;display:block}#passwordbutton{margin-inline-start:.5em}p.info,form fieldset legend,#datadirContent label,form fieldset .warning-info,form input[type=checkbox]+label{text-align:center}form .warning input[type=checkbox]:hover+label,form .warning input[type=checkbox]:focus+label,form .warning input[type=checkbox]+label{color:var(--color-primary-element-text) !important}.body-login-container.two-factor{width:320px;box-sizing:border-box}.two-factor-provider{display:flex;border-radius:3px;margin:12px 0;border:1px solid rgba(0,0,0,0);text-align:start;align-items:center;text-decoration:none !important}.two-factor-provider:hover,.two-factor-provider:focus,.two-factor-provider:active{border:1px solid #fff}.two-factor-provider img{width:64px;height:64px;padding:0 12px}.two-factor-provider div{margin:12px 0}.two-factor-provider h3{margin:0}.two-factor-provider p{font-weight:normal}.two-factor-icon{width:100px;display:block;margin:0 auto}.two-factor-submit{width:100%;padding:10px;margin:0 0 5px 0;border-radius:100px;font-size:20px}.two-factor-primary{padding:14px !important;width:226px}.two-factor-secondary{display:inline-block;padding:12px}#remember_login{margin-block:18px 0 !important;margin-inline:16px 5px !important}.updateProgress .error{margin-top:10px;margin-bottom:10px}form #selectDbType{text-align:center;white-space:nowrap;margin:0;display:flex}form #selectDbType .info{white-space:normal}form #selectDbType label{flex-grow:1;margin:0 -1px 5px;font-size:12px;background:var(--color-background-hover);color:var(--color-main-text);cursor:pointer;border:1px solid var(--color-border);padding:10px 17px}form #selectDbType label.ui-state-hover,form #selectDbType label.ui-state-active{font-weight:normal;background:var(--color-background-darker);color:var(--color-main-text)}form #selectDbType label span{display:none}.grouptop,.groupmiddle,.groupbottom{position:relative;user-select:none}.grouptop,.groupmiddle{margin-bottom:8px !important}.groupbottom{margin-bottom:13px}.groupbottom input[type=submit]{box-shadow:none !important}.grouptop.groupbottom input{border-radius:3px !important;margin:5px 0 !important}.body-login-container{display:flex;flex-direction:column;text-align:start;word-wrap:break-word;border-radius:10px;cursor:default;-moz-user-select:text;-webkit-user-select:text;-ms-user-select:text;user-select:text}.body-login-container .icon-big{background-size:70px;height:70px}.body-login-container form{width:initial}.body-login-container p:not(:last-child){margin-bottom:12px}.infogroup{margin:8px 0}.infogroup:last-child{margin-bottom:0}p.info{margin:20px auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.update{width:calc(100% - 32px);text-align:center}.update .appList{list-style:disc;text-align:start;margin-inline:25px}.update a.update-show-detailed{border-bottom:inherit}body[dir=ltr] .update img.float-spinner{float:left}body[dir=rtl] .update img.float-spinner{float:right}#update-progress-detailed{text-align:start;margin-bottom:12px}.update-show-detailed{padding:12px;display:block;opacity:.75}.update-show-detailed .icon-caret-white{display:inline-block;vertical-align:middle}#update-progress-icon{height:32px;margin:10px;background-size:32px}.icon-info-white{background-image:url("../img/actions/info-white.svg?v=2")}.icon-error-white{background-image:url("../img/actions/error-white.svg?v=1")}.icon-caret-white{background-image:url("../img/actions/caret-white.svg?v=1")}.icon-confirm{background-image:url("../img/actions/confirm.svg?v=2")}.icon-confirm-white{background-image:url("../img/actions/confirm-white.svg?v=2")}.icon-checkmark-white{background-image:url("../img/actions/checkmark-white.svg?v=1")}.float-spinner{margin-top:-32px;padding-top:32px;height:32px;display:none}[class^=icon-],[class*=" icon-"]{background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px}.loading,.loading-small,.icon-loading,.icon-loading-dark,.icon-loading-small,.icon-loading-small-dark{position:relative;filter:var(--background-invert-if-dark)}.loading:after,.loading-small:after,.icon-loading:after,.icon-loading-dark:after,.icon-loading-small:after,.icon-loading-small-dark:after{border:2px solid rgba(150,150,150,.5);border-radius:100%;border-top-color:#646464;z-index:2;content:"";height:32px;width:32px;margin:-17px 0 0 -17px;position:absolute;top:50%;inset-inline-start:50%;-webkit-animation:rotate .8s infinite linear;animation:rotate .8s infinite linear;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.primary .loading,.primary+.loading,.primary .loading-small,.primary+.loading-small,.primary .icon-loading,.primary+.icon-loading,.primary .icon-loading-dark,.primary+.icon-loading-dark,.primary .icon-loading-small,.primary+.icon-loading-small,.primary .icon-loading-small-dark,.primary+.icon-loading-small-dark{filter:var(--primary-invert-if-bright)}.icon-loading-dark:after,.icon-loading-small-dark:after{border:2px solid rgba(187,187,187,.5);border-top-color:#bbb}.icon-loading-small:after,.icon-loading-small-dark:after{height:16px;width:16px;margin:-9px 0 0 -9px}img.icon-loading,object.icon-loading,video.icon-loading,button.icon-loading,textarea.icon-loading,input.icon-loading,select.icon-loading,div[contenteditable=true].icon-loading{background-image:url("../img/loading.gif")}img.icon-loading-dark,object.icon-loading-dark,video.icon-loading-dark,button.icon-loading-dark,textarea.icon-loading-dark,input.icon-loading-dark,select.icon-loading-dark,div[contenteditable=true].icon-loading-dark{background-image:url("../img/loading-dark.gif")}img.icon-loading-small,object.icon-loading-small,video.icon-loading-small,button.icon-loading-small,textarea.icon-loading-small,input.icon-loading-small,select.icon-loading-small,div[contenteditable=true].icon-loading-small{background-image:url("../img/loading-small.gif")}img.icon-loading-small-dark,object.icon-loading-small-dark,video.icon-loading-small-dark,button.icon-loading-small-dark,textarea.icon-loading-small-dark,input.icon-loading-small-dark,select.icon-loading-small-dark,div[contenteditable=true].icon-loading-small-dark{background-image:url("../img/loading-small-dark.gif")}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}footer .info .entity-name{font-weight:bold}footer.guest-box{padding:var(--default-grid-baseline) calc(3*var(--default-grid-baseline));margin-bottom:1rem}footer.guest-box .info{margin:0}label.infield,.hidden-visually{position:absolute;inset-inline-start:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}a.legal{font-size:smaller}.notecard{color:var(--color-text-light);background-color:var(--note-background);border-inline-start:4px solid var(--note-theme);border-radius:var(--border-radius);margin:1rem 0;padding:1rem;text-align:start}.notecard.success{--note-background: rgba(var(--color-success-rgb), 0.1);--note-theme: var(--color-success)}.notecard.error{--note-background: rgba(var(--color-error-rgb), 0.1);--note-theme: var(--color-error)}.notecard.warning{--note-background: rgba(var(--color-warning-rgb), 0.1);--note-theme: var(--color-warning)}.notecard:last-child{margin-bottom:0}.notecard pre{background-color:var(--color-background-dark);margin-top:1rem;padding:1em 1.3em;border-radius:var(--border-radius)}.guest-box,.body-login-container{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));color:var(--color-main-text);background-color:var(--color-main-background-blur);padding:calc(3*var(--default-grid-baseline));border-radius:var(--border-radius-container);box-shadow:0 0 10px var(--color-box-shadow);display:inline-block;-webkit-backdrop-filter:var(--filter-background-blur);backdrop-filter:var(--filter-background-blur)}.guest-box.wide{display:block;text-align:start;border-radius:var(--border-radius-container-large)}.guest-box fieldset{margin-top:0}.guest-box .pre{overflow-x:scroll}button.toggle-password{background-color:rgba(0,0,0,0);border-width:0;height:44px}.margin-top{margin-top:1rem !important}.text-left{text-align:start !important}.hidden{display:none}/*# sourceMappingURL=guest.css.map */
diff --git a/core/css/guest.css.map b/core/css/guest.css.map
new file mode 100644
index 00000000000..9ad7bce2df8
--- /dev/null
+++ b/core/css/guest.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["guest.scss","animations.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCIA,0BACC,KACC,+BACA,uBAED,GACC,iCACA,0BAGF,kBACC,KACC,+BACA,uBAED,GACC,iCACA,0BDbF,wYAEA,iBAEA,2EAEA,mEAEA,kDAEA,kCAEA,6DAEA,6DAEA,mBAEA,KAEC,aACA,sBACA,uBACA,mBAEA,iBACA,mBACA,kBACA,6NACA,kDACA,kBACA,wDAIA,2FACA,4BACA,sBACA,2BACA,gBACA,YACA,cACA,gBAKA,cACC,gBAGD,qBACC,wBAGD,kEAEC,0BACA,8BAIF,GACC,kBACA,WAID,SAGC,iBAGD,GACC,eACA,mBACA,iBAGD,GACC,eACA,cAKA,cACC,wEACA,4BACA,wBACA,2BACA,YACA,aACA,cACA,kBACA,yBAIF,SACC,WACA,gBACA,uBAID,KACC,kBACA,YACA,UAGD,kBACC,gBAGD,4DAEC,WAGD,uCACC,YACA,uBACA,uBACA,UAGD,wBACC,SAGD,wBACC,iBACA,mBAGD,sCACC,mBACA,iBAGD,2CAEC,mBAGD,qBACC,WAGD,2CACC,WAGD,sBACC,cACA,SAGD,0BACC,mBAID,cACC,aAGD,kBACC,sBAKD,2CACC,SACC,cAIF,gBACC,cACA,aACA,mBACA,uBACA,iBACA,kBAGA,6BACC,kBACA,sBACA,8CACA,oBAKD,uMAGC,sBAGD,oCACC,kBACA,SACA,sBAIF,gDAEC,iBAGD,sCACC,2BAGD,qGAOC,qBACA,WACA,eACA,6CACA,8CACA,iBACA,6BACA,YACA,2CACA,eAGD,kCACC,kBACA,qBACA,QAGD,yBACC,6DAGD,wEAIC,YACA,iBACA,gCACA,YACA,oBACA,mBACA,gBAGD,gFACC,YACA,mCAGD,YACC,YACA,YACA,sCAGD,4FAIC,kBACA,gBACA,uBAID,iDAEC,SAGD,cACC,8CACA,wCAOC,4MAEC,oDACA,wCAMH,8BACC,kBACA,4BACA,SACA,UACA,WACA,gBAGD,oCACC,iBAGD,iGAEC,eAGD,2CACC,WACA,qBACA,sBACA,WACA,eACA,sBACA,kBACA,YACA,WACA,2BAGD,kDACC,kBAGD,6IAEC,kBAGD,2DACC,iCACA,6BAGD,mEACC,kBACA,sBAGD,0DACC,0CACA,6BACA,+DAID,qBACC,qBACA,kBACA,UACA,YACA,4BACA,0BACA,0BACA,4BACA,gBACA,WAGD,eACC,iBACA,gBACA,kBAID,yBACC,kBACA,qBACA,SACA,aACA,uBACA,WACA,qBACA,aAGD,2CACC,6BACA,UAGD,qBACC,YACA,iBACA,yBACA,cAGD,gBACC,yBAID,8GAKC,kBAGD,uIAGC,mDAGD,iCAEC,YACA,sBAGD,qBACC,aACA,kBACA,cACA,+BACA,iBACA,mBACA,gCAEA,kFAGC,sBAED,yBACC,WACA,YACA,eAED,yBACC,cAED,wBACC,SAED,uBACC,mBAIF,iBACC,YACA,cACA,cAGD,mBACC,WACA,aACA,iBACA,oBACA,eAGD,oBAEC,wBACA,YAGD,sBACC,qBACA,aAKD,gBACC,+BACA,kCAKD,uBACC,gBACA,mBAID,mBACC,kBACA,mBACA,SACA,aACA,yBACC,mBAED,yBACC,YACA,kBACA,eACA,yCACA,6BACA,eACA,qCACA,kBAED,iFAEC,mBACA,0CACA,6BAED,8BACC,aAMF,oCAGC,kBACA,iBAGD,uBACC,6BAGD,aACC,mBAGD,gCACC,2BAGD,4BACC,6BACA,wBAKD,sBACC,aACA,sBACA,iBACA,qBACA,mBACA,eACA,sBACA,yBACA,qBACA,iBAGA,gCACC,qBACA,YAGD,2BACC,cAGD,yCACC,mBAMF,WACC,aAGD,sBACC,gBAGD,OACC,iBACA,yBACA,sBACA,qBACA,iBAID,QACC,wBACA,kBAEA,iBACC,gBACA,iBACA,mBAGD,+BACC,sBAKF,wCACC,WAGD,wCACC,YAGD,0BACC,iBACA,mBAGD,sBACC,aACA,cACA,YAEA,wCACC,qBACA,sBAIF,sBACC,YACA,YACA,qBAKD,iBACC,0DAGD,kBACC,2DAGD,kBACC,2DAGD,cACC,uDAGD,oBACC,6DAGD,sBACC,+DAKD,eACC,iBACA,iBACA,YACA,aAGD,iCACC,4BACA,2BACA,eACA,gBAGD,sGACC,kBACA,wCAGD,0IACC,sCACA,mBACA,yBAEA,UACA,WACA,YACA,WACA,uBACA,kBACA,QACA,uBACA,6CACA,qCACA,gCACA,4BACA,wBAGD,wTACC,uCAGD,wDACC,sCACA,sBAGD,yDACC,YACA,WACA,qBAGD,gLACC,2CAGD,wNACC,gDAGD,gOACC,iDAGD,wQACC,sDAED,0BACC,KACA,+BACA,uBAEA,GACA,iCACA,0BAGD,kBACC,KACA,+BACA,uBAEA,GACA,iCACA,0BAMA,0BACC,iBAGD,iBACC,0EACA,mBAEA,uBACC,SAMH,+BAEC,kBACA,4BACA,aACA,UACA,WACA,gBAGD,QACC,kBAGD,UACC,8BACA,wCACA,gDACA,mCACA,cACA,aACA,iBAEA,kBACC,uDACA,mCAGD,gBACC,qDACA,iCAGD,kBACC,uDACA,mCAGD,qBACC,gBAGD,cACC,8CACA,gBACA,kBACA,mCAIF,iCAEC,gGACA,6BACA,mDACA,6CACA,6CACA,4CACA,qBACA,sDACA,8CAIA,gBACC,cACA,iBACA,mDAGD,oBACC,aAGD,gBACC,kBAIF,uBACC,+BACA,eACA,YAID,YACC,2BAGD,WACC,4BAGD,QACC","file":"guest.css"} \ No newline at end of file
diff --git a/core/css/guest.css.map.license b/core/css/guest.css.map.license
new file mode 100644
index 00000000000..82ac7cce426
--- /dev/null
+++ b/core/css/guest.css.map.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/guest.scss b/core/css/guest.scss
new file mode 100644
index 00000000000..ef7d733165a
--- /dev/null
+++ b/core/css/guest.scss
@@ -0,0 +1,892 @@
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+@use 'animations';
+
+/* Default and reset */
+html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section { margin:0; padding:0; border:0; outline:0; font-weight:inherit; font-size:100%; font-family:inherit; vertical-align:baseline; cursor:default; }
+
+html { height:100%; }
+
+article, aside, dialog, figure, footer, header, hgroup, nav, section { display:block; }
+
+table { border-collapse:separate; border-spacing:0; white-space:nowrap; }
+
+caption, th, td { text-align:start; font-weight:normal; }
+
+table, td, th { vertical-align:middle; }
+
+a { border:0; color: var(--color-main-text); text-decoration:none;}
+
+a, a *, input, input *, select, .button span, label { cursor:pointer; }
+
+ul { list-style:none; }
+
+body {
+ /* Guest content uses flexbox */
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ /* bring the default font size up to 14px */
+ font-size: .875em;
+ font-weight: normal;
+ line-height: 1.6em;
+ font-family: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen-Sans, Cantarell, Ubuntu, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ color: var(--color-background-plain-text, #ffffff);
+ text-align: center;
+ background-color: var(--color-background-plain, #0082c9);
+ /*
+ User background if logged in ('no' if removed, that way the variable is _defined_)
+ Fallback to default gradient (should not happened, the background is always defined anyway) */
+ background-image: var(--image-background, linear-gradient(40deg, #0082c9 0%, #30b6ff 100%));
+ background-attachment: fixed;
+ background-size: cover;
+ background-position: center;
+ min-height: 100%; /* fix sticky footer */
+ height: auto;
+ overflow: auto;
+ position: static;
+}
+
+/* Various fonts settings */
+#body-login {
+ a {
+ font-weight: 600;
+ }
+
+ footer a {
+ color: var(--color-text);
+ }
+
+ a:not(.button):hover,
+ a:not(.button):focus {
+ text-decoration: underline;
+ text-decoration-skip-ink: auto;
+ }
+}
+
+em {
+ font-style: normal;
+ opacity: .5;
+}
+
+/* heading styles */
+h2,
+h3,
+h4 {
+ font-weight: bold;
+}
+
+h2 {
+ font-size: 20px;
+ margin-bottom: 12px;
+ line-height: 140%;
+}
+
+h3 {
+ font-size: 15px;
+ margin: 12px 0;
+}
+
+/* Global content */
+#header {
+ .logo {
+ background-image: var(--image-logo, url('../../core/img/logo/logo.svg'));
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-position: center;
+ width: 175px;
+ height: 130px;
+ margin: 0 auto;
+ position: relative;
+ inset-inline-start: unset;
+ }
+}
+
+.wrapper {
+ width: 100%;
+ max-width: 700px;
+ margin-block: 10vh auto;
+}
+
+/* Default FORM */
+form {
+ position: relative;
+ margin: auto;
+ padding: 0;
+}
+
+form.install-form {
+ max-width: 300px;
+}
+
+form.install-form fieldset,
+form.install-form fieldset input {
+ width: 100%;
+}
+
+form.install-form .strengthify-wrapper {
+ bottom: 17px;
+ width: calc(100% - 8px);
+ inset-inline-start: 4px;
+ top: unset;
+}
+
+form.install-form #show {
+ top: 18px;
+}
+
+form #sqliteInformation {
+ margin-top: 0.5rem;
+ margin-bottom: 20px;
+}
+
+form #adminaccount, form #use_other_db {
+ margin-bottom: 15px;
+ text-align: start;
+}
+
+form #adminaccount > legend,
+form #adminlogin {
+ margin-bottom: 1rem;
+}
+
+form #advancedHeader {
+ width: 100%;
+}
+
+form fieldset legend, #datadirContent label {
+ width: 100%;
+}
+
+#datadirContent label {
+ display: block;
+ margin: 0;
+}
+
+form #datadirField legend {
+ margin-bottom: 15px;
+}
+
+/* View more button */
+#showAdvanced {
+ padding: 13px; /* increase clickable area of Advanced dropdown */
+}
+
+#showAdvanced img {
+ vertical-align: middle; /* adjust position of Advanced dropdown arrow */
+}
+
+/* Buttons and input */
+
+@media only screen and (max-width: 1024px) {
+ .wrapper {
+ margin-top: 0;
+ }
+}
+
+#submit-wrapper {
+ margin: 0 auto;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 10px 5px;
+ position: relative; /* Make the wrapper the containing block of its
+ absolutely positioned descendant icons */
+
+ .submit-icon {
+ position: absolute;
+ inset-inline-end: 24px;
+ transition: inset-inline-end 100ms ease-in-out;
+ pointer-events: none; /* The submit icon is positioned on the submit button.
+ From the user point of view the icon is part of the
+ button, so the clicks on the icon have to be
+ applied to the button instead. */
+ }
+ input.login:hover ~ .submit-icon.icon-confirm-white,
+ input.login:focus ~ .submit-icon.icon-confirm-white,
+ input.login:active ~ .submit-icon.icon-confirm-white {
+ inset-inline-end: 20px;
+ }
+
+ .icon-loading-small {
+ position: absolute;
+ top: 22px;
+ inset-inline-end: 26px;
+ }
+}
+
+input:not([type='radio']),
+input:not([type='range']) {
+ border-width: 2px;
+}
+
+input:not([type='range']):focus-visible {
+ box-shadow: none !important;
+}
+
+input[type='submit'],
+input[type='submit'].icon-confirm,
+input[type='button'],
+button,
+a.button,
+.button,
+select {
+ display: inline-block;
+ width: auto;
+ min-width: 25px;
+ padding: calc(2 * var(--default-grid-baseline));
+ background-color: var(--color-main-background);
+ font-weight: bold;
+ color: var(--color-main-text);
+ border: none;
+ border-radius: var(--border-radius-element);
+ cursor: pointer;
+}
+
+.icon-confirm.input-button-inline {
+ position: absolute;
+ inset-inline-end: 3px;
+ top: 5px;
+}
+
+input[type='submit']:focus {
+ box-shadow: 0 0 0 2px inset var(--color-main-text) !important;
+}
+
+input[type='text'],
+input[type='tel'],
+input[type='password'],
+input[type='email'] {
+ width: 266px;
+ padding: 5px 10px;
+ color: var(--color-text-lighter);
+ cursor: text;
+ font-family: inherit;
+ font-weight: normal;
+ margin-inline: 0;
+}
+
+input[type='password'].password-with-toggle, input[type='text'].password-with-toggle {
+ width: 238px;
+ padding-inline-end: 40px !important;
+}
+
+input.login {
+ width: 260px;
+ height: 50px;
+ background-position: right 16px center;
+}
+
+input[type='submit'],
+input[type='submit'].icon-confirm,
+input.updateButton,
+input.update-continue {
+ padding: 10px 20px; /* larger log in and installation buttons */
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+/* Get rid of the inside dotted line in Firefox */
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+}
+
+input.primary {
+ background-color: var(--color-primary-element);
+ color: var(--color-primary-element-text);
+}
+
+input,
+button,
+a {
+ &.primary:not(:disabled) {
+ &:hover,
+ &:focus {
+ background-color: var(--color-primary-element-hover);
+ color: var(--color-primary-element-text);
+ }
+ }
+}
+
+/* Checkboxes - white only for login */
+input[type='checkbox'].checkbox {
+ position: absolute;
+ inset-inline-start: -10000px;
+ top: auto;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+}
+
+input[type='checkbox'].checkbox + label {
+ user-select: none;
+}
+
+input[type='checkbox'].checkbox:disabled + label,
+input[type='checkbox'].checkbox:disabled + label:before {
+ cursor: default;
+}
+
+input[type='checkbox'].checkbox + label:before {
+ content: '';
+ display: inline-block;
+ vertical-align: middle;
+ margin: 3px;
+ margin-top: 1px;
+ border: 1px solid #888;
+ border-radius: 1px;
+ height: 10px;
+ width: 10px;
+ background-position: center;
+}
+
+input[type='checkbox'].checkbox--white + label:before {
+ border-color: #ddd;
+}
+
+input[type='checkbox'].checkbox--white:not(:disabled):not(:checked) + label:hover:before,
+input[type='checkbox'].checkbox--white:focus + label:before {
+ border-color: #fff;
+}
+
+input[type='checkbox'].checkbox--white:disabled + label:before {
+ background-color: #666 !important;
+ border-color: #999 !important;
+}
+
+input[type='checkbox'].checkbox--white:checked:disabled + label:before {
+ border-color: #666;
+ background-color: #222;
+}
+
+input[type='checkbox'].checkbox--white:checked + label:before {
+ background-color: transparent !important;
+ border-color: #fff !important;
+ background-image: url('../img/actions/checkbox-mark-white.svg');
+}
+
+/* Password strength meter */
+.strengthify-wrapper {
+ display: inline-block;
+ position: relative;
+ top: -20px;
+ width: 250px;
+ border-start-start-radius: 0;
+ border-start-end-radius: 0;
+ border-end-end-radius: 3px;
+ border-end-start-radius: 3px;
+ overflow: hidden;
+ height: 3px;
+}
+
+.tooltip-inner {
+ font-weight: bold;
+ padding: 3px 6px;
+ text-align: center;
+}
+
+/* Show password toggle */
+#show, #dbpassword-toggle {
+ position: absolute;
+ inset-inline-end: 2px;
+ top: -3px;
+ display: flex;
+ justify-content: center;
+ width: 44px;
+ align-content: center;
+ padding: 13px;
+}
+
+#pass2, input[name='personal-password-clone'] {
+ padding: .6em 2.5em .4em .4em;
+ width: 8em;
+}
+
+#personal-show + label {
+ height: 14px;
+ margin-top: -25px;
+ inset-inline-start: 295px;
+ display: block;
+}
+
+#passwordbutton {
+ margin-inline-start: .5em;
+}
+
+/* Dark subtle label text */
+p.info,
+form fieldset legend,
+#datadirContent label,
+form fieldset .warning-info,
+form input[type='checkbox']+label {
+ text-align: center;
+}
+/* overrides another !important statement that sets this to unreadable black */
+form .warning input[type='checkbox']:hover+label,
+form .warning input[type='checkbox']:focus+label,
+form .warning input[type='checkbox']+label {
+ color: var(--color-primary-element-text) !important;
+}
+
+.body-login-container.two-factor {
+ // Same size as login box and dashboard panels
+ width: 320px;
+ box-sizing: border-box;
+}
+
+.two-factor-provider {
+ display: flex;
+ border-radius: 3px; /* --border-radius */
+ margin: 12px 0;
+ border: 1px solid transparent;
+ text-align: start;
+ align-items: center;
+ text-decoration: none !important;
+
+ &:hover,
+ &:focus,
+ &:active {
+ border: 1px solid #fff;
+ }
+ img {
+ width: 64px;
+ height: 64px;
+ padding: 0 12px;
+ }
+ div {
+ margin: 12px 0;
+ }
+ h3 {
+ margin: 0;
+ }
+ p {
+ font-weight: normal;
+ }
+}
+
+.two-factor-icon {
+ width: 100px;
+ display: block;
+ margin: 0 auto;
+}
+
+.two-factor-submit {
+ width: 100%;
+ padding: 10px;
+ margin: 0 0 5px 0;
+ border-radius: 100px; /* --border-radius-pill */
+ font-size: 20px;
+}
+
+.two-factor-primary {
+ /* Fix for 'Use backup codes' button not taking correct styles */
+ padding: 14px !important;
+ width: 226px;
+}
+
+.two-factor-secondary {
+ display: inline-block;
+ padding: 12px;
+}
+
+
+/* Additional login options */
+#remember_login {
+ margin-block: 18px 0 !important;
+ margin-inline: 16px 5px !important;
+}
+
+/* fixes for update page TODO should be fixed some time in a proper way */
+/* this is just for an error while updating the ownCloud instance */
+.updateProgress .error {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+/* Database selector on install page */
+form #selectDbType {
+ text-align:center;
+ white-space: nowrap;
+ margin: 0;
+ display: flex;
+ .info {
+ white-space: normal;
+ }
+ label {
+ flex-grow: 1;
+ margin: 0 -1px 5px;
+ font-size: 12px;
+ background: var(--color-background-hover);
+ color: var(--color-main-text);
+ cursor:pointer;
+ border: 1px solid var(--color-border);
+ padding: 10px 17px;
+ }
+ label.ui-state-hover,
+ label.ui-state-active {
+ font-weight: normal;
+ background: var(--color-background-darker);
+ color: var(--color-main-text);
+ }
+ label span {
+ display: none;
+ }
+}
+
+
+/* Nicely grouping input field sets */
+.grouptop,
+.groupmiddle,
+.groupbottom {
+ position: relative;
+ user-select: none;
+}
+
+.grouptop, .groupmiddle {
+ margin-bottom: 8px !important;
+}
+
+.groupbottom {
+ margin-bottom: 13px;
+}
+
+.groupbottom input[type=submit] {
+ box-shadow: none !important;
+}
+
+.grouptop.groupbottom input {
+ border-radius: 3px !important;
+ margin: 5px 0 !important;
+}
+
+/* Errors */
+/* Warnings and errors are the same */
+.body-login-container {
+ display: flex;
+ flex-direction: column;
+ text-align: start;
+ word-wrap: break-word;
+ border-radius: 10px; /* --border-radius-large */
+ cursor: default;
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+
+ /* TODO: Change all .warning/.update/.error to .body-login-container */
+ .icon-big {
+ background-size: 70px;
+ height: 70px;
+ }
+
+ form {
+ width: initial;
+ }
+
+ p:not(:last-child) {
+ margin-bottom: 12px;
+ }
+}
+
+
+/* Various paragraph styles */
+.infogroup {
+ margin: 8px 0;
+}
+
+.infogroup:last-child {
+ margin-bottom: 0;
+}
+
+p.info {
+ margin: 20px auto;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+/* Update */
+.update {
+ width: calc(100% - 32px);
+ text-align: center;
+
+ .appList {
+ list-style: disc;
+ text-align: start;
+ margin-inline: 25px;
+ }
+
+ a.update-show-detailed {
+ border-bottom: inherit;
+ }
+}
+
+/* Cannot use inline-start and :dir to support Samsung Internet */
+body[dir='ltr'] .update img.float-spinner {
+ float: left;
+}
+
+body[dir='rtl'] .update img.float-spinner {
+ float: right;
+}
+
+#update-progress-detailed {
+ text-align: start;
+ margin-bottom: 12px;
+}
+
+.update-show-detailed {
+ padding: 12px;
+ display: block;
+ opacity: .75;
+
+ .icon-caret-white {
+ display: inline-block;
+ vertical-align: middle;
+ }
+}
+
+#update-progress-icon {
+ height: 32px;
+ margin: 10px;
+ background-size: 32px;
+}
+
+
+/* Icons */
+.icon-info-white {
+ background-image: url('../img/actions/info-white.svg?v=2');
+}
+
+.icon-error-white {
+ background-image: url('../img/actions/error-white.svg?v=1');
+}
+
+.icon-caret-white {
+ background-image: url('../img/actions/caret-white.svg?v=1');
+}
+
+.icon-confirm {
+ background-image: url('../img/actions/confirm.svg?v=2');
+}
+
+.icon-confirm-white {
+ background-image: url('../img/actions/confirm-white.svg?v=2');
+}
+
+.icon-checkmark-white {
+ background-image: url('../img/actions/checkmark-white.svg?v=1');
+}
+
+
+/* Loading */
+.float-spinner {
+ margin-top: -32px;
+ padding-top: 32px;
+ height: 32px;
+ display: none;
+}
+
+[class^='icon-'], [class*=' icon-'] {
+ background-repeat: no-repeat;
+ background-position: center;
+ min-width: 16px;
+ min-height: 16px;
+}
+
+.loading, .loading-small, .icon-loading, .icon-loading-dark, .icon-loading-small, .icon-loading-small-dark {
+ position: relative;
+ filter: var(--background-invert-if-dark)
+}
+
+.loading:after, .loading-small:after, .icon-loading:after, .icon-loading-dark:after, .icon-loading-small:after, .icon-loading-small-dark:after {
+ border: 2px solid rgba(150, 150, 150, 0.5);
+ border-radius: 100%;
+ border-top-color: #646464;
+
+ z-index: 2;
+ content: '';
+ height: 32px;
+ width: 32px;
+ margin: -17px 0 0 -17px;
+ position: absolute;
+ top: 50%;
+ inset-inline-start: 50%;
+ -webkit-animation: rotate .8s infinite linear;
+ animation: rotate .8s infinite linear;
+ -webkit-transform-origin: center;
+ -ms-transform-origin: center;
+ transform-origin: center;
+}
+
+.primary .loading,.primary+.loading,.primary .loading-small,.primary+.loading-small,.primary .icon-loading,.primary+.icon-loading,.primary .icon-loading-dark,.primary+.icon-loading-dark,.primary .icon-loading-small,.primary+.icon-loading-small,.primary .icon-loading-small-dark,.primary+.icon-loading-small-dark {
+ filter: var(--primary-invert-if-bright)
+}
+
+.icon-loading-dark:after, .icon-loading-small-dark:after {
+ border: 2px solid rgba(187, 187, 187, 0.5);
+ border-top-color: #bbb;
+}
+
+.icon-loading-small:after, .icon-loading-small-dark:after {
+ height: 16px;
+ width: 16px;
+ margin: -9px 0 0 -9px;
+}
+/* Css replaced elements don't have ::after nor ::before */
+img.icon-loading, object.icon-loading, video.icon-loading, button.icon-loading, textarea.icon-loading, input.icon-loading, select.icon-loading, div[contenteditable=true].icon-loading {
+ background-image: url('../img/loading.gif');
+}
+
+img.icon-loading-dark, object.icon-loading-dark, video.icon-loading-dark, button.icon-loading-dark, textarea.icon-loading-dark, input.icon-loading-dark, select.icon-loading-dark, div[contenteditable=true].icon-loading-dark {
+ background-image: url('../img/loading-dark.gif');
+}
+
+img.icon-loading-small, object.icon-loading-small, video.icon-loading-small, button.icon-loading-small, textarea.icon-loading-small, input.icon-loading-small, select.icon-loading-small, div[contenteditable=true].icon-loading-small {
+ background-image: url('../img/loading-small.gif');
+}
+
+img.icon-loading-small-dark, object.icon-loading-small-dark, video.icon-loading-small-dark, button.icon-loading-small-dark, textarea.icon-loading-small-dark, input.icon-loading-small-dark, select.icon-loading-small-dark, div[contenteditable=true].icon-loading-small-dark {
+ background-image: url('../img/loading-small-dark.gif');
+}
+@-webkit-keyframes rotate {
+ from {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@keyframes rotate {
+ from {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+
+/* FOOTER */
+footer {
+ .info .entity-name {
+ font-weight: bold;
+ }
+
+ &.guest-box {
+ padding: var(--default-grid-baseline) calc(3 * var(--default-grid-baseline));
+ margin-bottom: 1rem;
+
+ .info {
+ margin: 0;
+ }
+ }
+}
+
+/* keep the labels for screen readers but hide them since we use placeholders */
+label.infield,
+.hidden-visually {
+ position: absolute;
+ inset-inline-start: -10000px;
+ top: -10000px;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+}
+
+a.legal {
+ font-size: smaller;
+}
+
+.notecard {
+ color: var(--color-text-light);
+ background-color: var(--note-background);
+ border-inline-start: 4px solid var(--note-theme);
+ border-radius: var(--border-radius);
+ margin: 1rem 0;
+ padding: 1rem;
+ text-align: start;
+
+ &.success {
+ --note-background: rgba(var(--color-success-rgb), 0.1);
+ --note-theme: var(--color-success);
+ }
+
+ &.error {
+ --note-background: rgba(var(--color-error-rgb), 0.1);
+ --note-theme: var(--color-error);
+ }
+
+ &.warning {
+ --note-background: rgba(var(--color-warning-rgb), 0.1);
+ --note-theme: var(--color-warning);
+ }
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+
+ pre {
+ background-color: var(--color-background-dark);
+ margin-top: 1rem;
+ padding: 1em 1.3em;
+ border-radius: var(--border-radius);
+ }
+}
+
+.guest-box, .body-login-container {
+ // Ensure the maxcontrast color is set for the background
+ --color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));
+ color: var(--color-main-text);
+ background-color: var(--color-main-background-blur);
+ padding: calc(3 * var(--default-grid-baseline));
+ border-radius: var(--border-radius-container);
+ box-shadow: 0 0 10px var(--color-box-shadow);
+ display: inline-block;
+ -webkit-backdrop-filter: var(--filter-background-blur);
+ backdrop-filter: var(--filter-background-blur);
+}
+
+.guest-box {
+ &.wide {
+ display: block;
+ text-align: start;
+ border-radius: var(--border-radius-container-large);
+ }
+
+ fieldset {
+ margin-top: 0;
+ }
+
+ .pre {
+ overflow-x: scroll;
+ }
+}
+
+button.toggle-password {
+ background-color: transparent;
+ border-width: 0;
+ height: 44px;
+}
+
+/** Utilities */
+.margin-top {
+ margin-top: 1rem !important;
+}
+
+.text-left {
+ text-align: start !important;
+}
+
+.hidden {
+ display: none;
+}
diff --git a/core/css/header.css b/core/css/header.css
index 5a5acb269ab..1c748610023 100644
--- a/core/css/header.css
+++ b/core/css/header.css
@@ -1,361 +1,5 @@
-/* prevent ugly selection effect on accidental selection */
-#header,
-#navigation,
-#expanddiv {
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
-}
-
-/* removed until content-focusing issue is fixed */
-#skip-to-content a {
- position: absolute;
- left: -10000px;
- top: auto;
- width: 1px;
- height: 1px;
- overflow: hidden;
-}
-#skip-to-content a:focus {
- left: 76px;
- top: -9px;
- color: #fff;
- width: auto;
- height: auto;
-}
-
-
-
-/* HEADERS ------------------------------------------------------------------ */
-
-#body-user #header,
-#body-settings #header,
-#body-public #header {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- z-index: 2000;
- height: 45px;
- line-height: 2.5em;
- background-color: #1d2d44;
- box-sizing: border-box;
-}
-
-
-
-/* LOGO and APP NAME -------------------------------------------------------- */
-
-#owncloud {
- position: absolute;
- top: 0;
- left: 0;
- padding: 5px;
- padding-bottom: 0;
- height: 45px; /* header height */
- box-sizing: border-box;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
- opacity: 1;
-}
-#owncloud:focus {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
- opacity: .75;
-}
-#owncloud:hover,
-#owncloud:active {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
- opacity: 1;
-}
-
-#header .logo {
- background-image: url(../img/logo-icon.svg);
- background-repeat: no-repeat;
- background-size: 175px;
- background-position: center 30px;
- width: 252px;
- height: 120px;
- margin: 0 auto;
-}
-
-#header .logo-icon {
- /* display logo so appname can be shown next to it */
- display: inline-block;
- background-image: url(../img/logo-icon.svg);
- background-repeat: no-repeat;
- width: 62px;
- height: 34px;
-}
-
-#header .header-appname-container {
- display: inline-block;
- position: absolute;
- left: 70px;
- height: 27px;
- padding-top: 18px;
- padding-right: 10px;
-}
-
-/* hover effect for app switcher label */
-.header-appname-container .header-appname,
-.menutoggle .icon-caret {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
- opacity: .75;
-}
-.menutoggle:hover .header-appname,
-.menutoggle:hover .icon-caret,
-.menutoggle:focus .header-appname,
-.menutoggle:focus .icon-caret,
-.menutoggle.active .header-appname,
-.menutoggle.active .icon-caret {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
- opacity: 1;
-}
-
-/* show appname next to logo */
-.header-appname {
- display: inline-block;
- position: relative;
- color: #fff;
- font-size: 16px;
- font-weight: 300;
- margin: 0;
- margin-top: -24px;
- padding: 7px 0 7px 5px;
- vertical-align: middle;
-}
-/* show caret indicator next to logo to make clear it is tappable */
-#header .icon-caret {
- display: inline-block;
- width: 12px;
- height: 12px;
- margin: 0;
- margin-top: -21px;
- padding: 0;
- vertical-align: middle;
-}
-/* do not show menu toggle on public share links as there is no menu */
-#body-public #header .icon-caret {
- display: none;
-}
-
-
-
-/* NAVIGATION --------------------------------------------------------------- */
-
-#navigation {
- position: fixed;
- top: 45px;
- left: 10px;
- width: 265px;
- max-height: 85%;
- margin-top: 0;
- padding-bottom: 10px;
- background-color: rgba(0, 0, 0, .97);
- box-shadow: 0 1px 10px rgba(50, 50, 50, .7);
- border-radius: 3px;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- display: none;
- /*overflow-y: auto;
- overflow-x: hidden;*/
- z-index: 2000;
-}
-/* arrow look */
-#navigation:after, #expanddiv:after {
- bottom: 100%;
- border: solid transparent;
- content: " ";
- height: 0;
- width: 0;
- position: absolute;
- pointer-events: none;
- border-color: rgba(0, 0, 0, 0);
- border-bottom-color: rgba(0, 0, 0, .97);
- border-width: 10px;
- margin-left: -10px;
-}
-/* position of dropdown arrow */
-#navigation:after {
- left: 47%;
-}
-#expanddiv:after {
- right: 15px;
-}
-
-#navigation, #navigation * {
- box-sizing:border-box;
-}
-#navigation li {
- display: inline-block;
-}
-#navigation a {
- position: relative;
- width: 80px;
- height: 80px;
- display: inline-block;
- text-align: center;
- padding: 20px 0;
-}
-#navigation a span {
- display: inline-block;
- font-size: 13px;
- padding-bottom: 0;
- padding-left: 0;
- width: 80px;
- text-align: center;
- color: #fff;
- white-space:nowrap;
- overflow:hidden;
- text-overflow:ellipsis;
-}
- /* icon opacity and hover effect */
- #navigation a img,
- #navigation a span {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
- opacity: .7;
- }
- #navigation a:hover img,
- #navigation a:focus img,
- #navigation a:hover span,
- #navigation a:focus span,
- #navigation a.active img,
- #navigation a.active span {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
- opacity: 1;
- }
-
-#navigation .app-icon {
- margin: 0 auto;
- padding: 0;
- max-height: 32px;
- max-width: 32px;
-}
-
-/* Apps management */
-#apps-management {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
- opacity: .6;
- min-height: initial;
- height: initial;
- margin: 0;
-}
-
-
-/* loading feedback for apps */
-#navigation .app-loading .icon-loading-dark {
- display: inline !important;
- position: absolute;
- top: 20px;
- left: 24px;
- width: 32px;
- height: 32px;
-}
-#navigation .app-loading .app-icon {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
- opacity: .1;
-}
-
-#apps {
- max-height: calc(100vh - 100px);
- overflow:auto;
-}
-
-
-/* USER MENU -----------------------------------------------------------------*/
-
-/* info part on the right, used e.g. for info on who shared something */
-.header-right {
- position: absolute;
- right: 0;
- padding: 7px 5px;
- color: #fff;
- height: 100%;
- max-width: 80%;
- white-space: nowrap;
- box-sizing: border-box;
-}
-
-/* Profile picture in header */
-#header .avatardiv {
- float: left;
- display: inline-block;
- margin-right: 8px;
- cursor: pointer;
- height: 32px;
- width: 32px;
-}
-#header .avatardiv img {
- opacity: 1;
- cursor: pointer;
-}
-
-#settings {
- float: right;
- color: #bbb;
- cursor: pointer;
-}
-#expand {
- display: block;
- padding: 7px 30px 6px 10px;
- cursor: pointer;
-}
-#expand * {
- cursor: pointer;
-}
-#expand:hover,
-#expand:focus,
-#expand:active {
- color: #fff;
-}
-#expand img {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
- opacity: .7;
- margin-bottom: -2px;
-}
-#expand:hover img,
-#expand:focus img,
-#expand:active img {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
- opacity: 1;
-}
-#expanddiv {
- position: absolute;
- right: 10px;
- top: 45px;
- z-index: 2000;
- display: none;
- background-color: rgba(0, 0, 0, .97);
- box-shadow: 0 1px 10px rgba(50, 50, 50, .7);
- border-radius: 3px;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- box-sizing: border-box;
-}
- #expanddiv a {
- display: block;
- height: 40px;
- color: #fff;
- padding: 4px 12px 0;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
- opacity: .7;
- box-sizing: border-box;
- }
- #expanddiv a img {
- margin-bottom: -3px;
- margin-right: 6px;
- }
- #expanddiv a:hover,
- #expanddiv a:focus,
- #expanddiv a:active,
- #expanddiv a.active {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
- opacity: 1;
- }
-
-/* do not show display name when profile picture is present */
-#header .avatardiv.avatardiv-shown + #expandDisplayName {
- display: none;
-}
-#header #expand {
- display: block;
-}
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */#skip-actions{position:absolute;overflow:hidden;z-index:9999;top:-999px;inset-inline-start:3px;padding:11px;display:flex;flex-wrap:wrap;gap:11px}#skip-actions:focus-within{top:var(--header-height)}#header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#header:not(.header-guest){display:inline-flex;position:absolute;top:0;width:100%;z-index:2000;height:var(--header-height);box-sizing:border-box;justify-content:space-between}#header #nextcloud{padding:5px 0;padding-inline-start:86px;position:relative;height:calc(100% - var(--default-grid-baseline));box-sizing:border-box;opacity:1;align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;margin:2px}#header #nextcloud:hover,#header #nextcloud:active{opacity:1}#header #nextcloud .logo{display:inline-flex;background-image:var(--image-logoheader, var(--image-logo, url("../img/logo/logo.svg")));background-repeat:no-repeat;background-size:contain;background-position:center;width:62px;position:absolute;inset-inline-start:12px;top:1px;bottom:1px;filter:var(--image-logoheader-custom, var(--background-image-invert-if-bright))}#header #nextcloud:focus-visible,#header .app-menu-entry a:focus-visible,#header .header-menu button:first-of-type:focus-visible{outline:none}#header #nextcloud:focus-visible::after,#header .app-menu-entry a:focus-visible::after,#header .header-menu button:first-of-type:focus-visible::after{content:" ";position:absolute;inset-block-end:2px;transform:translateX(-50%);width:12px;height:2px;border-radius:3px;background-color:var(--color-background-plain-text);inset-inline-start:50%;opacity:1}#header .header-start{display:inline-flex;align-items:center;flex:1 0;white-space:nowrap;min-width:0}#header .header-end{display:inline-flex;align-items:center;justify-content:flex-end;flex-shrink:1;margin-inline-end:calc(3*var(--default-grid-baseline))}#header .header-end>div,#header .header-end>form{height:100%;position:relative}#header .header-end>div>.menutoggle,#header .header-end>form>.menutoggle{display:flex;justify-content:center;align-items:center;width:var(--header-height);height:var(--header-menu-item-height);cursor:pointer;opacity:.85;padding:0;margin:2px 0}#header .header-end>div>.menutoggle:focus,#header .header-end>form>.menutoggle:focus{opacity:1}#header .header-end>div>.menutoggle:focus-visible,#header .header-end>form>.menutoggle:focus-visible{outline:none}#header .header-end>div>.menu,#header .header-end>form>.menu{background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));border-radius:var(--border-radius-large);box-sizing:border-box;z-index:2000;position:absolute;max-width:350px;min-height:calc(var(--default-clickable-area)*1.5);max-height:calc(100vh - var(--header-height) - 2*var(--default-grid-baseline));inset-inline-end:8px;top:var(--header-height);margin:0;overflow-y:auto}#header .header-end>div>.menu:not(.popovermenu),#header .header-end>form>.menu:not(.popovermenu){display:none}#header .header-end>div>.menu:after,#header .header-end>form>.menu:after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:100%;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:10px}#header .header-end>div>.menu>div,#header .header-end>div>.menu>ul,#header .header-end>form>.menu>div,#header .header-end>form>.menu>ul{-webkit-overflow-scrolling:touch;min-height:calc(var(--default-clickable-area)*1.5);max-height:calc(100vh - var(--header-height) - 2*var(--default-grid-baseline))}#header .header-end>div .emptycontent h2,#header .header-end>form .emptycontent h2{font-weight:normal;font-size:16px}#header .header-end>div .emptycontent [class^=icon-],#header .header-end>div .emptycontent [class*=icon-],#header .header-end>form .emptycontent [class^=icon-],#header .header-end>form .emptycontent [class*=icon-]{background-size:48px;height:48px;width:48px}#header .header-appname{color:var(--color-background-plain-text);font-size:16px;font-weight:bold;margin:0;padding:0;padding-inline-end:5px;overflow:hidden;text-overflow:ellipsis;flex:1 1 100%}#header .header-appname .header-info{display:flex;flex-direction:column;overflow:hidden}#header .header-appname .header-info .header-title{overflow:hidden;text-overflow:ellipsis}#header .header-appname .header-info .header-shared-by{color:var(--color-background-plain-text);position:relative;font-weight:300;font-size:var(--font-size-small);line-height:var(--font-size-small);overflow:hidden;text-overflow:ellipsis}@media(display-mode: standalone)or (display-mode: minimal-ui){#header:not(.header-guest){display:none !important}#content,#content-vue{margin-top:var(--body-container-margin)}:root{--body-height: calc(100% - env(safe-area-inset-bottom) - var(--body-container-margin) * 2) !important}}/*# sourceMappingURL=header.css.map */
diff --git a/core/css/header.css.map b/core/css/header.css.map
new file mode 100644
index 00000000000..50d096529d9
--- /dev/null
+++ b/core/css/header.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["header.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GAYA,cACC,kBACA,gBACA,aACA,WACA,uBACA,aACA,aACA,eACA,SAEA,2BACC,yBAKF,QAEC,yBACA,sBACA,qBACA,iBAGA,2BACC,oBACA,kBACA,MACA,WACA,aACA,4BACA,sBACA,8BAID,mBACC,cACA,0BACA,kBACA,iDACA,sBACA,UACA,mBACA,aACA,eACA,gBACA,WAEA,mDACC,UAID,yBACC,oBACA,yFACA,4BACA,wBACA,2BACA,WACA,kBACA,wBACA,QACA,WAEA,gFAMF,iIAGC,aAEA,sJACC,YACA,kBACA,oBACA,2BACA,WACA,WACA,kBACA,oDACA,uBACA,UAOF,sBACC,oBACA,mBACA,SACA,mBACA,YAKD,oBACC,oBACA,mBACA,yBACA,cAEA,uDAIA,iDAEC,YACA,kBACA,yEACC,aACA,uBACA,mBACA,2BACA,sCACA,eACA,YACA,UACA,aAEA,qFACC,UAGD,qGACC,aAIF,6DACC,8CACA,sDACA,yCACA,sBACA,aACA,kBACA,gBAvJH,mDACA,+EAwJG,qBACA,yBACA,SACA,gBAEA,iGACC,aAID,yEACC,gCACA,iDACA,YACA,YACA,SACA,QACA,kBACA,oBACA,sBAGD,wIAEC,iCAjLJ,mDACA,+EAsLG,mFACC,mBACA,eAED,sNAEC,qBACA,YACA,WAQJ,wBACC,yCACA,eACA,iBACA,SACA,UACA,uBACA,gBACA,uBAEA,cAGA,qCACC,aACA,sBACA,gBAEA,mDACC,gBACA,uBAGD,uDACC,yCACA,kBACA,gBACA,iCACA,mCACA,gBACA,uBAMJ,8DACC,2BACC,wBAGD,sBACC,wCAGD,MAEC","file":"header.css"} \ No newline at end of file
diff --git a/core/css/header.css.map.license b/core/css/header.css.map.license
new file mode 100644
index 00000000000..82ac7cce426
--- /dev/null
+++ b/core/css/header.css.map.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/header.scss b/core/css/header.scss
new file mode 100644
index 00000000000..e14e1eecb11
--- /dev/null
+++ b/core/css/header.scss
@@ -0,0 +1,256 @@
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+@mixin header-menu-height() {
+ min-height: calc(var(--default-clickable-area) * 1.5); // show at least 1.5 entries
+ max-height: calc(100vh - var(--header-height) - (2 * var(--default-grid-baseline)));
+}
+
+/* Skip navigation links – show only on keyboard focus */
+#skip-actions {
+ position: absolute;
+ overflow: hidden;
+ z-index: 9999;
+ top: -999px;
+ inset-inline-start: 3px;
+ padding: 11px;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 11px;
+
+ &:focus-within {
+ top: var(--header-height);
+ }
+}
+
+/* HEADERS ------------------------------------------------------------------ */
+#header {
+ // prevent ugly selection effect on accidental selection
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+
+ // for legacy the reasons the guest layout also uses the same id, so we need to exclude it as it uses a different layout.
+ &:not(.header-guest) {
+ display: inline-flex;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: 2000;
+ height: var(--header-height);
+ box-sizing: border-box;
+ justify-content: space-between;
+ }
+
+ // This is the first entry in the header, it represents the "home"-link
+ #nextcloud {
+ padding: 5px 0;
+ padding-inline-start: 86px; // logo width + 2 * the inset (padding)
+ position: relative;
+ height: calc(100% - var(--default-grid-baseline));
+ box-sizing: border-box;
+ opacity: 1;
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ overflow: hidden;
+ margin: 2px;
+
+ &:hover, &:active {
+ opacity: 1;
+ }
+
+ // the actual logo within the home-link entry
+ .logo {
+ display: inline-flex;
+ background-image: var(--image-logoheader, var(--image-logo, url('../img/logo/logo.svg')));
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-position: center;
+ width: 62px;
+ position: absolute;
+ inset-inline-start: 12px;
+ top: 1px;
+ bottom: 1px;
+ // Invert if not customized and background is bright
+ filter: var(--image-logoheader-custom, var(--background-image-invert-if-bright));
+ }
+ }
+
+ // focus visible styles
+ // this adds a small line below all entries when visually focussed
+ #nextcloud:focus-visible,
+ .app-menu-entry a:focus-visible,
+ .header-menu button:first-of-type:focus-visible {
+ outline: none;
+
+ &::after {
+ content: " ";
+ position: absolute;
+ inset-block-end: 2px;
+ transform: translateX(-50%);
+ width: 12px;
+ height: 2px;
+ border-radius: 3px;
+ background-color: var(--color-background-plain-text);
+ inset-inline-start: 50%;
+ opacity: 1;
+ }
+ }
+
+ // This is the first part of the header
+ // for the user template it contains the application icons (app menu)
+ // for public templates this contains e.g. share information
+ .header-start {
+ display: inline-flex;
+ align-items: center;
+ flex: 1 0;
+ white-space: nowrap;
+ min-width: 0;
+ }
+
+ // This is the last part of the header
+ // It contains the short cuts like unified search, contacts-, or account menu
+ .header-end {
+ display: inline-flex;
+ align-items: center;
+ justify-content: flex-end;
+ flex-shrink: 1;
+ // Add some spacing so the last entry looks ok
+ margin-inline-end: calc(3 * var(--default-grid-baseline));
+
+ // legacy JQuery header menus
+ // TODO: we already migrated our own code and deprecated it - can be removed together with global jQuery
+ > div,
+ > form {
+ height: 100%;
+ position: relative;
+ > .menutoggle {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: var(--header-height);
+ height: var(--header-menu-item-height);
+ cursor: pointer;
+ opacity: 0.85;
+ padding: 0;
+ margin: 2px 0;
+
+ &:focus {
+ opacity: 1;
+ }
+
+ &:focus-visible {
+ outline: none;
+ }
+ }
+
+ > .menu {
+ background-color: var(--color-main-background);
+ filter: drop-shadow(0 1px 5px var(--color-box-shadow));
+ border-radius: var(--border-radius-large);
+ box-sizing: border-box;
+ z-index: 2000;
+ position: absolute;
+ max-width: 350px;
+ @include header-menu-height();
+ inset-inline-end: 8px; // relative to parent
+ top: var(--header-height);
+ margin: 0;
+ overflow-y: auto;
+
+ &:not(.popovermenu) {
+ display: none;
+ }
+
+ /* Dropdown arrow */
+ &:after {
+ border: 10px solid transparent;
+ border-bottom-color: var(--color-main-background);
+ bottom: 100%;
+ content: ' ';
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none;
+ inset-inline-end: 10px;
+ }
+
+ & > div,
+ & > ul {
+ -webkit-overflow-scrolling: touch;
+ @include header-menu-height();
+ }
+ }
+
+ .emptycontent {
+ h2 {
+ font-weight: normal;
+ font-size: 16px;
+ }
+ [class^='icon-'],
+ [class*='icon-'] {
+ background-size: 48px;
+ height: 48px;
+ width: 48px;
+ }
+ }
+ }
+ }
+
+ // Public layout related headers
+ // app related header container ONLY on public shares (layout.public.php)
+ .header-appname {
+ color: var(--color-background-plain-text);
+ font-size: 16px;
+ font-weight: bold;
+ margin: 0;
+ padding: 0;
+ padding-inline-end: 5px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ // Take full width to push the header-shared-by bellow (if any)
+ flex: 1 1 100%;
+
+ // container for the public template header information
+ .header-info {
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+
+ .header-title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ .header-shared-by {
+ color: var(--color-background-plain-text);
+ position: relative;
+ font-weight: 300;
+ font-size: var(--font-size-small);
+ line-height: var(--font-size-small);
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ }
+ }
+}
+
+@media (display-mode: standalone) or (display-mode: minimal-ui) {
+ #header:not(.header-guest) {
+ display: none !important;
+ }
+
+ #content, #content-vue {
+ margin-top: var(--body-container-margin);
+ }
+
+ :root {
+ // Override the body height to make up for the additional height due to the missing header.
+ --body-height: calc(100% - env(safe-area-inset-bottom) - var(--body-container-margin) * 2) !important;
+ }
+}
diff --git a/core/css/icons.css b/core/css/icons.css
index b746436ed5f..d88834ac78f 100644
--- a/core/css/icons.css
+++ b/core/css/icons.css
@@ -1,289 +1,10 @@
-[class^="icon-"], [class*=" icon-"] {
- background-repeat: no-repeat;
- background-position: center;
- min-width: 16px;
- min-height: 16px;
-}
-
-
-
-
-/* general assets */
-
-.icon-breadcrumb {
- background-image: url('../img/breadcrumb.svg');
-}
-
-.icon-loading {
- background-image: url('../img/loading.gif');
-}
-.icon-loading-dark {
- background-image: url('../img/loading-dark.gif');
-}
-.icon-loading-small {
- background-image: url('../img/loading-small.gif');
-}
-.icon-32 {
- background-size: 32px !important;
-}
-
-
-
-
-/* action icons */
-
-.icon-add {
- background-image: url('../img/actions/add.svg');
-}
-
-.icon-caret {
- background-image: url('../img/actions/caret.svg');
-}
-.icon-caret-dark {
- background-image: url('../img/actions/caret-dark.svg');
-}
-
-.icon-checkmark {
- background-image: url('../img/actions/checkmark.svg');
-}
-.icon-checkmark-white {
- background-image: url('../img/actions/checkmark-white.svg');
-}
-.icon-checkmark-color {
- background-image: url('../img/actions/checkmark-color.svg');
-}
-
-.icon-close {
- background-image: url('../img/actions/close.svg');
-}
-
-.icon-comment {
- background-image: url('../img/actions/comment.svg');
-}
-
-.icon-confirm {
- background-image: url('../img/actions/confirm.svg');
-}
-
-.icon-delete,
-.icon-delete.no-permission:hover,
-.icon-delete.no-permission:focus {
- background-image: url('../img/actions/delete.svg');
-}
-.icon-delete:hover,
-.icon-delete:focus {
- background-image: url('../img/actions/delete-hover.svg');
-}
-.icon-delete-white {
- background-image: url('../img/actions/delete-white.svg');
-}
-
-.icon-details {
- background-image: url('../img/actions/details.svg');
-}
-
-.icon-download {
- background-image: url('../img/actions/download.svg');
-}
-
-.icon-edit {
- background-image: url('../img/actions/edit.svg');
-}
-
-.icon-error {
- background-image: url('../img/actions/error.svg');
-}
-.icon-error-white {
- background-image: url('../img/actions/error-white.svg');
-}
-.icon-error-color {
- background-image: url('../img/actions/error-color.svg');
-}
-
-.icon-external {
- background-image: url('../img/actions/external.svg');
-}
-
-.icon-history {
- background-image: url('../img/actions/history.svg');
-}
-
-.icon-info {
- background-image: url('../img/actions/info.svg');
-}
-.icon-info-white {
- background-image: url('../img/actions/info-white.svg');
-}
-
-.icon-logout {
- background-image: url('../img/actions/logout.svg');
-}
-
-.icon-mail {
- background-image: url('../img/actions/mail.svg');
-}
-
-.icon-menu {
- background-image: url('../img/actions/menu.svg');
-}
-
-.icon-more {
- background-image: url('../img/actions/more.svg');
-}
-
-.icon-password {
- background-image: url('../img/actions/password.svg');
-}
-
-.icon-pause {
- background-image: url('../img/actions/pause.svg');
-}
-.icon-pause-big {
- background-image: url('../img/actions/pause-big.svg');
-}
-
-.icon-play {
- background-image: url('../img/actions/play.svg');
-}
-.icon-play-add {
- background-image: url('../img/actions/play-add.svg');
-}
-.icon-play-big {
- background-image: url('../img/actions/play-big.svg');
-}
-.icon-play-next {
- background-image: url('../img/actions/play-next.svg');
-}
-.icon-play-previous {
- background-image: url('../img/actions/play-previous.svg');
-}
-
-.icon-public {
- background-image: url('../img/actions/public.svg');
-}
-
-.icon-rename {
- background-image: url('../img/actions/rename.svg');
-}
-
-.icon-search {
- background-image: url('../img/actions/search.svg');
-}
-.icon-search-white {
- background-image: url('../img/actions/search-white.svg');
-}
-
-.icon-settings {
- background-image: url('../img/actions/settings.svg');
-}
-
-.icon-share {
- background-image: url('../img/actions/share.svg');
-}
-.icon-shared {
- background-image: url('../img/actions/shared.svg');
-}
-
-.icon-sound {
- background-image: url('../img/actions/sound.svg');
-}
-.icon-sound-off {
- background-image: url('../img/actions/sound-off.svg');
-}
-
-.icon-star,
-.icon-starred:hover,
-.icon-starred:focus {
- background-image: url('../img/actions/star.svg');
-}
-
-.icon-starred,
-.icon-star:hover,
-.icon-star:focus {
- background-image: url('../img/actions/starred.svg');
-}
-
-.icon-toggle {
- background-image: url('../img/actions/toggle.svg');
-}
-
-.icon-triangle-e {
- background-image: url('../img/actions/triangle-e.svg');
-}
-.icon-triangle-n {
- background-image: url('../img/actions/triangle-n.svg');
-}
-.icon-triangle-s {
- background-image: url('../img/actions/triangle-s.svg');
-}
-
-.icon-upload {
- background-image: url('../img/actions/upload.svg');
-}
-.icon-upload-white {
- background-image: url('../img/actions/upload-white.svg');
-}
-
-.icon-user {
- background-image: url('../img/actions/user.svg');
-}
-
-.icon-view-close {
- background-image: url('../img/actions/view-close.svg');
-}
-.icon-view-download {
- background-image: url('../img/actions/view-download.svg');
-}
-.icon-view-next {
- background-image: url('../img/actions/view-next.svg');
-}
-.icon-view-pause {
- background-image: url('../img/actions/view-pause.svg');
-}
-.icon-view-play {
- background-image: url('../img/actions/view-play.svg');
-}
-.icon-view-previous {
- background-image: url('../img/actions/view-previous.svg');
-}
-
-
-
-
-/* places icons */
-
-.icon-calendar-dark {
- background-image: url('../img/places/calendar-dark.svg');
-}
-
-.icon-contacts-dark {
- background-image: url('../img/places/contacts-dark.svg');
-}
-
-.icon-files {
- background-image: url('../img/places/files.svg');
-}
-.icon-file,
-.icon-filetype-text {
- background-image: url('../img/filetypes/text.svg');
-}
-.icon-folder,
-.icon-filetype-folder {
- background-image: url('../img/filetypes/folder.svg');
-}
-
-.icon-home {
- background-image: url('../img/places/home.svg');
-}
-
-.icon-link {
- background-image: url('../img/places/link.svg');
-}
-
-.icon-music {
- background-image: url('../img/places/music.svg');
-}
-
-.icon-picture {
- background-image: url('../img/places/picture.svg');
-}
+/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */@import'../../dist/icons.css';/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */[class^=icon-],[class*=" icon-"]{background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px}.icon-breadcrumb{background-image:url("../img/breadcrumb.svg?v=1")}.loading,.loading-small,.icon-loading,.icon-loading-dark,.icon-loading-small,.icon-loading-small-dark{position:relative}.loading:after,.loading-small:after,.icon-loading:after,.icon-loading-dark:after,.icon-loading-small:after,.icon-loading-small-dark:after{z-index:2;content:"";height:28px;width:28px;margin:-16px 0 0 -16px;position:absolute;top:50%;inset-inline-start:50%;border-radius:100%;-webkit-animation:rotate .8s infinite linear;animation:rotate .8s infinite linear;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;border:2px solid var(--color-loading-light);border-top-color:var(--color-loading-dark);filter:var(--background-invert-if-dark)}.primary .loading:after,.primary+.loading:after,.primary .loading-small:after,.primary+.loading-small:after,.primary .icon-loading:after,.primary+.icon-loading:after,.primary .icon-loading-dark:after,.primary+.icon-loading-dark:after,.primary .icon-loading-small:after,.primary+.icon-loading-small:after,.primary .icon-loading-small-dark:after,.primary+.icon-loading-small-dark:after{filter:var(--primary-invert-if-bright)}.icon-loading-dark:after,.icon-loading-small-dark:after{border:2px solid var(--color-loading-dark);border-top-color:var(--color-loading-light)}.icon-loading-small:after,.icon-loading-small-dark:after{height:12px;width:12px;margin:-8px 0 0 -8px}audio.icon-loading,canvas.icon-loading,embed.icon-loading,iframe.icon-loading,img.icon-loading,input.icon-loading,object.icon-loading,video.icon-loading{background-image:url("../img/loading.gif")}audio.icon-loading-dark,canvas.icon-loading-dark,embed.icon-loading-dark,iframe.icon-loading-dark,img.icon-loading-dark,input.icon-loading-dark,object.icon-loading-dark,video.icon-loading-dark{background-image:url("../img/loading-dark.gif")}audio.icon-loading-small,canvas.icon-loading-small,embed.icon-loading-small,iframe.icon-loading-small,img.icon-loading-small,input.icon-loading-small,object.icon-loading-small,video.icon-loading-small{background-image:url("../img/loading-small.gif")}audio.icon-loading-small-dark,canvas.icon-loading-small-dark,embed.icon-loading-small-dark,iframe.icon-loading-small-dark,img.icon-loading-small-dark,input.icon-loading-small-dark,object.icon-loading-small-dark,video.icon-loading-small-dark{background-image:url("../img/loading-small-dark.gif")}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.icon-32{background-size:32px !important}.icon-white.icon-shadow,.icon-audio-white,.icon-audio-off-white,.icon-fullscreen-white,.icon-screen-white,.icon-screen-off-white,.icon-video-white,.icon-video-off-white{filter:drop-shadow(1px 1px 4px var(--color-box-shadow))}/*# sourceMappingURL=icons.css.map */
diff --git a/core/css/icons.css.map b/core/css/icons.css.map
new file mode 100644
index 00000000000..8f8fb343d73
--- /dev/null
+++ b/core/css/icons.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["icons.scss","variables.scss","functions.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAwHQ,8BCtHR;AAAA;AAAA;AAAA,GCFA;AAAA;AAAA;AAAA,GFQA,iCACC,4BACA,2BACA,eACA,gBAGD,iBACC,kDAID,sGAMC,kBACA,0IACC,UACA,WACA,YACA,WACA,uBACA,kBACA,QACA,uBACA,mBACA,6CACA,qCACA,gCACA,4BACA,wBACA,4CACA,2CAEA,wCAEA,gYAGC,uCAKH,wDAEC,2CACA,4CAGD,yDAEC,YACA,WACA,qBAKA,yJACC,2CAED,iMACC,gDAED,yMACC,iDAED,iPACC,sDAIF,kBACC,KACC,uBAED,GACC,0BAIF,SACC,gCAGD,yKAQC","file":"icons.css"} \ No newline at end of file
diff --git a/core/css/icons.css.map.license b/core/css/icons.css.map.license
new file mode 100644
index 00000000000..b62adf36215
--- /dev/null
+++ b/core/css/icons.css.map.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/icons.scss b/core/css/icons.scss
new file mode 100644
index 00000000000..df6edea1f15
--- /dev/null
+++ b/core/css/icons.scss
@@ -0,0 +1,121 @@
+/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+@use 'variables';
+@use 'functions';
+
+/* GLOBAL ------------------------------------------------------------------- */
+[class^='icon-'], [class*=' icon-'] {
+ background-repeat: no-repeat;
+ background-position: center;
+ min-width: 16px;
+ min-height: 16px;
+}
+
+.icon-breadcrumb {
+ background-image: url('../img/breadcrumb.svg?v=1');
+}
+
+/* LOADING ------------------------------------------------------------------ */
+.loading,
+.loading-small,
+.icon-loading,
+.icon-loading-dark,
+.icon-loading-small,
+.icon-loading-small-dark {
+ position: relative;
+ &:after {
+ z-index: 2;
+ content: '';
+ height: 28px;
+ width: 28px;
+ margin: -16px 0 0 -16px;
+ position: absolute;
+ top: 50%;
+ inset-inline-start: 50%;
+ border-radius: 100%;
+ -webkit-animation: rotate .8s infinite linear;
+ animation: rotate .8s infinite linear;
+ -webkit-transform-origin: center;
+ -ms-transform-origin: center;
+ transform-origin: center;
+ border: 2px solid var(--color-loading-light);
+ border-top-color: var(--color-loading-dark);
+ // revert if background is too bright
+ filter: var(--background-invert-if-dark);
+
+ .primary &,
+ .primary + & {
+ // revert if primary is too bright
+ filter: var(--primary-invert-if-bright);
+ }
+ }
+}
+
+.icon-loading-dark:after,
+.icon-loading-small-dark:after {
+ border: 2px solid var(--color-loading-dark);
+ border-top-color: var(--color-loading-light);
+}
+
+.icon-loading-small:after,
+.icon-loading-small-dark:after {
+ height: 12px;
+ width: 12px;
+ margin: -8px 0 0 -8px;
+}
+
+/* Css replaced elements don't have ::after nor ::before */
+audio, canvas, embed, iframe, img, input, object, video {
+ &.icon-loading {
+ background-image: url('../img/loading.gif');
+ }
+ &.icon-loading-dark {
+ background-image: url('../img/loading-dark.gif');
+ }
+ &.icon-loading-small {
+ background-image: url('../img/loading-small.gif');
+ }
+ &.icon-loading-small-dark {
+ background-image: url('../img/loading-small-dark.gif');
+ }
+}
+
+@keyframes rotate {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+.icon-32 {
+ background-size: 32px !important;
+}
+
+.icon-white.icon-shadow,
+.icon-audio-white,
+.icon-audio-off-white,
+.icon-fullscreen-white,
+.icon-screen-white,
+.icon-screen-off-white,
+.icon-video-white,
+.icon-video-off-white {
+ filter: drop-shadow(1px 1px 4px var(--color-box-shadow));
+}
+
+/* ICONS -------------------------------------------------------------------
+ * These icon classes are generated automatically with the following pattern
+ * .icon-close (black icon)
+ * .icon-close-white (white icon)
+ * .icon-close.icon-white (white icon)
+ *
+ * Some class definitions are kept as before, since they don't follow the pattern
+ * or have some additional styling like drop shadows
+ */
+
+// plain CSS import and not SCSS so disable the `@import` rule
+/* stylelint-disable-next-line no-invalid-position-at-import-rule */
+@import '../../dist/icons.css';
diff --git a/core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png
deleted file mode 100644
index eed4abd1922..00000000000
--- a/core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png
+++ /dev/null
Binary files differ
diff --git a/core/css/images/ui-bg_diagonals-thick_20_666666_40x40.png b/core/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
deleted file mode 100644
index a618b065866..00000000000
--- a/core/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
+++ /dev/null
Binary files differ
diff --git a/core/css/images/ui-bg_flat_100_ffffff_40x100.png b/core/css/images/ui-bg_flat_100_ffffff_40x100.png
deleted file mode 100644
index 6ebfa5026e2..00000000000
--- a/core/css/images/ui-bg_flat_100_ffffff_40x100.png
+++ /dev/null
Binary files differ
diff --git a/core/css/images/ui-bg_flat_10_000000_40x100.png b/core/css/images/ui-bg_flat_10_000000_40x100.png
deleted file mode 100644
index b10f59cd342..00000000000
--- a/core/css/images/ui-bg_flat_10_000000_40x100.png
+++ /dev/null
Binary files differ
diff --git a/core/css/images/ui-bg_flat_35_1d2d44_40x100.png b/core/css/images/ui-bg_flat_35_1d2d44_40x100.png
deleted file mode 100644
index 2be93e582d8..00000000000
--- a/core/css/images/ui-bg_flat_35_1d2d44_40x100.png
+++ /dev/null
Binary files differ
diff --git a/core/css/images/ui-bg_glass_100_f8f8f8_1x400.png b/core/css/images/ui-bg_glass_100_f8f8f8_1x400.png
deleted file mode 100644
index cd79e9f1966..00000000000
--- a/core/css/images/ui-bg_glass_100_f8f8f8_1x400.png
+++ /dev/null
Binary files differ
diff --git a/core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.png b/core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.png
deleted file mode 100644
index 268e650935d..00000000000
--- a/core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.png
+++ /dev/null
Binary files differ
diff --git a/core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
deleted file mode 100644
index f1273672d25..00000000000
--- a/core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
+++ /dev/null
Binary files differ
diff --git a/core/css/images/ui-icons_1d2d44_256x240.png b/core/css/images/ui-icons_1d2d44_256x240.png
deleted file mode 100644
index 1b1474b1fdf..00000000000
--- a/core/css/images/ui-icons_1d2d44_256x240.png
+++ /dev/null
Binary files differ
diff --git a/core/css/images/ui-icons_ffd27a_256x240.png b/core/css/images/ui-icons_ffd27a_256x240.png
deleted file mode 100644
index a7ac4ec6580..00000000000
--- a/core/css/images/ui-icons_ffd27a_256x240.png
+++ /dev/null
Binary files differ
diff --git a/core/css/images/ui-icons_ffffff_256x240.png b/core/css/images/ui-icons_ffffff_256x240.png
deleted file mode 100644
index 174be7c2847..00000000000
--- a/core/css/images/ui-icons_ffffff_256x240.png
+++ /dev/null
Binary files differ
diff --git a/core/css/inputs.css b/core/css/inputs.css
index c61f14e4120..61c623cb85e 100644
--- a/core/css/inputs.css
+++ b/core/css/inputs.css
@@ -1,252 +1,11 @@
-/* INPUTS */
-
-/* specifically override browser styles */
-input, textarea, select, button {
- font-family: 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif;
-}
-
-input[type="text"],
-input[type="password"],
-input[type="search"],
-input[type="number"],
-input[type="email"],
-input[type="tel"],
-input[type="url"],
-input[type="time"],
-input[type="date"],
-textarea,
-select,
-button, .button,
-input[type="submit"],
-input[type="button"],
-#quota,
-.pager li a {
- width: 130px;
- margin: 3px 3px 3px 0;
- padding: 7px 6px 5px;
- font-size: 13px;
- background-color: #fff;
- color: #333;
- border: 1px solid #ddd;
- outline: none;
- border-radius: 3px;
-}
-input[type="hidden"] {
- height: 0;
- width: 0;
-}
-input[type="text"],
-input[type="password"],
-input[type="search"],
-input[type="number"],
-input[type="email"],
-input[type="tel"],
-input[type="url"],
-input[type="time"],
-textarea {
- background: #fff;
- color: #555;
- cursor: text;
- font-family: inherit; /* use default ownCloud font instead of default textarea monospace */
-}
-input[type="text"],
-input[type="password"],
-input[type="search"],
-input[type="number"],
-input[type="email"],
-input[type="tel"],
-input[type="url"],
-input[type="time"] {
- -webkit-appearance:textfield; -moz-appearance:textfield;
- box-sizing:content-box;
-}
-input[type="text"]:hover, input[type="text"]:focus, input[type="text"]:active,
-input[type="password"]:hover, input[type="password"]:focus, input[type="password"]:active,
-input[type="number"]:hover, input[type="number"]:focus, input[type="number"]:active,
-input[type="search"]:hover, input[type="search"]:focus, input[type="search"]:active,
-input[type="email"]:hover, input[type="email"]:focus, input[type="email"]:active,
-input[type="tel"]:hover, input[type="tel"]:focus, input[type="tel"]:active,
-input[type="url"]:hover, input[type="url"]:focus, input[type="url"]:active,
-input[type="time"]:hover, input[type="time"]:focus, input[type="time"]:active,
-textarea:hover, textarea:focus, textarea:active {
- color: #333;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
- opacity: 1;
-}
-
-.ie8 input[type="checkbox"] { margin:0; padding:0; height:auto; width:auto; }
-.ie8 input[type="checkbox"]:hover+label, input[type="checkbox"]:focus+label { color:#111 !important; }
-
-/* ie8 doesn't support :checked */
-html:not(.ie8) input[type="checkbox"].checkbox {
- position: absolute;
- left:-10000px;
- top: auto;
- width: 1px;
- height: 1px;
- overflow: hidden;
-}
-
-html:not(.ie8) input[type="checkbox"].checkbox + label:before {
- content: "";
- display: inline-block;
-
- height: 20px;
- width: 20px;
- vertical-align: middle;
-
- background: url('../img/actions/checkbox.svg') left top no-repeat;
- opacity: 0.7;
-}
-
-html:not(.ie8) input[type="checkbox"].checkbox:disabled +label:before { opacity: .6; }
-
-html:not(.ie8) input[type="checkbox"].checkbox.u-left +label:before { float: left; }
-html:not(.ie8) input[type="checkbox"].checkbox.u-hidden + label:before { display: none; }
-
-html:not(.ie8) input[type="checkbox"].checkbox--white + label:before {
- background-image: url('../img/actions/checkbox-white.svg');
-}
-
-html:not(.ie8) input[type="checkbox"].checkbox:checked + label:before {
- background-image: url('../img/actions/checkbox-checked.svg');
-}
-
-html:not(.ie8) input[type="checkbox"].checkbox:disabled + label:before {
- background-image: url('../img/actions/checkbox-disabled.svg');
-}
-
-html:not(.ie8) input[type="checkbox"].checkbox:checked:disabled + label:before {
- background-image: url('../img/actions/checkbox-checked-disabled.svg');
-}
-
-html:not(.ie8) input[type="checkbox"].checkbox--white:checked + label:before {
- background-image: url('../img/actions/checkbox-checked-white.svg');
-}
-
-html:not(.ie8) input[type="checkbox"].checkbox--white:disabled + label:before {
- background-image: url('../img/actions/checkbox-disabled-white.svg');
-}
-
-html:not(.ie8) input[type="checkbox"].checkbox--white:checked:disabled + label:before {
- background-image: url('../img/actions/checkbox-checked-disabled.svg');
-}
-
-html:not(.ie8) input[type="checkbox"].checkbox:hover+label:before, input[type="checkbox"]:focus+label:before {
- color:#111 !important;
-}
-
-input[type="time"] {
- width: initial;
- height: 31px;
- box-sizing: border-box;
-}
-
-select {
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
- background: url('../../core/img/actions/triangle-s.svg') no-repeat right 8px center rgba(240, 240, 240, 0.90);
- outline: 0;
- padding-right: 24px !important;
-}
-
-select:hover {
- background-color: #fefefe;
-}
-
-.select2-choices {
- border: 1px solid #ddd;
- border-radius: 3px;
- color: #333;
- background-image: none;
-}
-.select2-dropdown-open .select2-choices {
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
- border: 1px solid #3875d7;
-}
-
-/* correctly align images inside of buttons */
-input img, button img, .button img {
- vertical-align: text-bottom;
-}
-
-input[type="submit"].enabled {
- background-color: #66f866;
- border: 1px solid #5e5;
-}
-
-.input-button-inline {
- position: absolute !important;
- right: 0;
- background-color: transparent !important;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
- opacity: .3;
-}
-
-
-/* BUTTONS */
-input[type="submit"], input[type="button"],
-button, .button,
-#quota, select, .pager li a {
- width: auto;
- min-width: 25px;
- padding: 5px;
- background-color: rgba(240,240,240,.9);
- font-weight: 600;
- color: #555;
- border: 1px solid rgba(240,240,240,.9);
- cursor: pointer;
-}
-select, .button.multiselect {
- font-weight: 400;
-}
-input[type="submit"]:hover, input[type="submit"]:focus,
-input[type="button"]:hover, input[type="button"]:focus,
-button:hover, button:focus,
-.button:hover, .button:focus,
-.button a:focus,
-select:hover, select:focus, select:active {
- background-color: rgba(255, 255, 255, .95);
- color: #111;
-}
-input[type="submit"] img, input[type="button"] img, button img, .button img { cursor:pointer; }
-#header .button {
- border: none;
- box-shadow: none;
-}
-
-/* disabled input fields and buttons */
-input:disabled, input:disabled:hover, input:disabled:focus,
-button:disabled, button:disabled:hover, button:disabled:focus,
-.button:disabled, .button:disabled:hover, .button:disabled:focus,
-a.disabled, a.disabled:hover, a.disabled:focus,
-textarea:disabled {
- background-color: rgba(230,230,230,.9);
- color: #999;
- cursor: default;
-}
-input:disabled+label, input:disabled:hover+label, input:disabled:focus+label {
- color: #999 !important;
- cursor: default;
-}
-
-/* Primary action button, use sparingly */
-.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary {
- border: 1px solid #1d2d44;
- background-color: #35537a;
- color: #ddd;
-}
-.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,
-.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {
- background-color: #304d76;
- color: #fff;
-}
-.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active,
-.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled,
-.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover,
-.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus {
- background-color: #1d2d44;
- color: #bbb;
-}
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */input,textarea,select,button,div[contenteditable=true],div[contenteditable=false]{font-family:var(--font-face)}.select2-container-multi .select2-choices .select2-search-field input,.select2-search input,.ui-widget{font-family:var(--font-face) !important}.select2-container.select2-drop-above .select2-choice{background-image:unset !important}select,button:not(.button-vue,[class^=vs__]),input,textarea,div[contenteditable=true],div[contenteditable=false]{width:130px;min-height:var(--default-clickable-area);box-sizing:border-box}button:not(.button-vue):disabled,input:not([type=range]):disabled,textarea:disabled{cursor:default;color:var(--color-text-maxcontrast);border-color:var(--color-border-dark);opacity:.7}input:not([type=range]){outline:none}div.select2-drop .select2-search input,input[type=submit],input[type=button],input[type=reset],button:not(.button-vue,[class^=vs__]),.button,.pager li a{padding:7px 14px;background-color:var(--color-main-background);color:var(--color-main-text);border:1px solid var(--color-border-dark);font-size:var(--default-font-size);outline:none;border-radius:var(--border-radius);cursor:text}div.select2-drop .select2-search input:not(.app-navigation-entry-button),input[type=submit]:not(.app-navigation-entry-button),input[type=button]:not(.app-navigation-entry-button),input[type=reset]:not(.app-navigation-entry-button),button:not(.button-vue,[class^=vs__]):not(.app-navigation-entry-button),.button:not(.app-navigation-entry-button),.pager li a:not(.app-navigation-entry-button){margin:3px;margin-inline-start:0}div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):hover,div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):focus,div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button).active,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):hover,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):focus,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button).active,.button:not(:disabled,.primary):not(.app-navigation-entry-button):hover,.button:not(:disabled,.primary):not(.app-navigation-entry-button):focus,.button:not(:disabled,.primary):not(.app-navigation-entry-button).active,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):hover,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):focus,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button).active{border-color:var(--color-main-text);outline:none}div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):active,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):active,.button:not(:disabled,.primary):not(.app-navigation-entry-button):active,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):active{outline:none;background-color:var(--color-main-background);color:var(--color-main-text)}div.select2-drop .select2-search input:not(:disabled,.primary):focus-visible,input[type=submit]:not(:disabled,.primary):focus-visible,input[type=button]:not(:disabled,.primary):focus-visible,input[type=reset]:not(:disabled,.primary):focus-visible,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):focus-visible,.button:not(:disabled,.primary):focus-visible,.pager li a:not(:disabled,.primary):focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}div.select2-drop .select2-search input:disabled,input[type=submit]:disabled,input[type=button]:disabled,input[type=reset]:disabled,button:not(.button-vue,[class^=vs__]):disabled,.button:disabled,.pager li a:disabled{background-color:var(--color-background-dark);color:var(--color-main-text);cursor:default;opacity:.5}div.select2-drop .select2-search input:required,input[type=submit]:required,input[type=button]:required,input[type=reset]:required,button:not(.button-vue,[class^=vs__]):required,.button:required,.pager li a:required{box-shadow:none}div.select2-drop .select2-search input:user-invalid,input[type=submit]:user-invalid,input[type=button]:user-invalid,input[type=reset]:user-invalid,button:not(.button-vue,[class^=vs__]):user-invalid,.button:user-invalid,.pager li a:user-invalid{box-shadow:0 0 0 2px var(--color-error) !important}div.select2-drop .select2-search input.primary,input[type=submit].primary,input[type=button].primary,input[type=reset].primary,button:not(.button-vue,[class^=vs__]).primary,.button.primary,.pager li a.primary{background-color:var(--color-primary-element);border-color:var(--color-primary-element);color:var(--color-primary-element-text);cursor:pointer}#body-login :not(.body-login-container) div.select2-drop .select2-search input.primary,#header div.select2-drop .select2-search input.primary,#body-login :not(.body-login-container) input[type=submit].primary,#header input[type=submit].primary,#body-login :not(.body-login-container) input[type=button].primary,#header input[type=button].primary,#body-login :not(.body-login-container) input[type=reset].primary,#header input[type=reset].primary,#body-login :not(.body-login-container) button:not(.button-vue,[class^=vs__]).primary,#header button:not(.button-vue,[class^=vs__]).primary,#body-login :not(.body-login-container) .button.primary,#header .button.primary,#body-login :not(.body-login-container) .pager li a.primary,#header .pager li a.primary{border-color:var(--color-primary-element-text)}div.select2-drop .select2-search input.primary:not(:disabled):hover,div.select2-drop .select2-search input.primary:not(:disabled):focus,div.select2-drop .select2-search input.primary:not(:disabled):active,input[type=submit].primary:not(:disabled):hover,input[type=submit].primary:not(:disabled):focus,input[type=submit].primary:not(:disabled):active,input[type=button].primary:not(:disabled):hover,input[type=button].primary:not(:disabled):focus,input[type=button].primary:not(:disabled):active,input[type=reset].primary:not(:disabled):hover,input[type=reset].primary:not(:disabled):focus,input[type=reset].primary:not(:disabled):active,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):hover,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):active,.button.primary:not(:disabled):hover,.button.primary:not(:disabled):focus,.button.primary:not(:disabled):active,.pager li a.primary:not(:disabled):hover,.pager li a.primary:not(:disabled):focus,.pager li a.primary:not(:disabled):active{background-color:var(--color-primary-element-hover);border-color:var(--color-primary-element-hover)}div.select2-drop .select2-search input.primary:not(:disabled):focus,div.select2-drop .select2-search input.primary:not(:disabled):focus-visible,input[type=submit].primary:not(:disabled):focus,input[type=submit].primary:not(:disabled):focus-visible,input[type=button].primary:not(:disabled):focus,input[type=button].primary:not(:disabled):focus-visible,input[type=reset].primary:not(:disabled):focus,input[type=reset].primary:not(:disabled):focus-visible,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus-visible,.button.primary:not(:disabled):focus,.button.primary:not(:disabled):focus-visible,.pager li a.primary:not(:disabled):focus,.pager li a.primary:not(:disabled):focus-visible{box-shadow:0 0 0 2px var(--color-main-text)}div.select2-drop .select2-search input.primary:not(:disabled):active,input[type=submit].primary:not(:disabled):active,input[type=button].primary:not(:disabled):active,input[type=reset].primary:not(:disabled):active,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):active,.button.primary:not(:disabled):active,.pager li a.primary:not(:disabled):active{color:var(--color-primary-element-text-dark)}div.select2-drop .select2-search input.primary:disabled,input[type=submit].primary:disabled,input[type=button].primary:disabled,input[type=reset].primary:disabled,button:not(.button-vue,[class^=vs__]).primary:disabled,.button.primary:disabled,.pager li a.primary:disabled{background-color:var(--color-primary-element);color:var(--color-primary-element-text-dark);cursor:default}div[contenteditable=false]{margin:3px;margin-inline-start:0;padding:7px 6px;font-size:13px;border:1px solid var(--color-background-darker);outline:none;border-radius:var(--border-radius);background-color:var(--color-background-dark);color:var(--color-text-maxcontrast);cursor:default;opacity:.5}input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):not([type=color]):not([type=file]):not([type=image]){-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;height:var(--default-clickable-area)}input[type=radio],input[type=checkbox],input[type=file],input[type=image]{height:auto;width:auto}input[type=color]{margin:3px;padding:0 2px;min-height:30px;width:40px;cursor:pointer}input[type=hidden]{height:0;width:0}input[type=time]{width:initial}select,button:not(.button-vue,[class^=vs__]),.button,input[type=button],input[type=submit],input[type=reset]{padding:calc((var(--default-clickable-area) - 1lh)/2) calc(3*var(--default-grid-baseline));font-size:var(--default-font-size);width:auto;min-height:var(--default-clickable-area);cursor:pointer;box-sizing:border-box;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light);border:none}select:hover,select:focus,button:not(.button-vue,[class^=vs__]):hover,button:not(.button-vue,[class^=vs__]):focus,.button:hover,.button:focus,input[type=button]:hover,input[type=button]:focus,input[type=submit]:hover,input[type=submit]:focus,input[type=reset]:hover,input[type=reset]:focus{background-color:var(--color-primary-element-light-hover)}select:disabled,button:not(.button-vue,[class^=vs__]):disabled,.button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled{cursor:default}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]),select,div[contenteditable=true],textarea{margin:3px;margin-inline-start:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);height:36px;outline:none;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):hover,input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):focus,input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):active,select:not(:disabled):hover,select:not(:disabled):focus,select:not(:disabled):active,div[contenteditable=true]:not(:disabled):hover,div[contenteditable=true]:not(:disabled):focus,div[contenteditable=true]:not(:disabled):active,textarea:not(:disabled):hover,textarea:not(:disabled):focus,textarea:not(:disabled):active{border-color:2px solid var(--color-main-text);box-shadow:0 0 0 2px var(--color-main-background)}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):focus,select:not(:disabled):focus,div[contenteditable=true]:not(:disabled):focus,textarea:not(:disabled):focus{cursor:text}.multiselect__input,.select2-input{background-color:var(--color-main-background);color:var(--color-main-text)}textarea,div[contenteditable=true]{padding:12px;height:auto}select{background:var(--icon-triangle-s-dark) no-repeat;appearance:none;background-color:var(--color-main-background);padding-inline-end:28px !important}body[dir=ltr] select{background-position:right 8px center}body[dir=rtl] select{background-position:left 8px center}select *,button:not(.button-vue,[class^=vs__]) *,.button *{cursor:pointer}select:disabled *,button:not(.button-vue,[class^=vs__]):disabled *,.button:disabled *{cursor:default}button:not(.button-vue,[class^=vs__]),.button,input[type=button],input[type=submit],input[type=reset]{font-weight:bold;border-radius:var(--border-radius-element)}button:not(.button-vue,[class^=vs__])::-moz-focus-inner,.button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=submit]::-moz-focus-inner,input[type=reset]::-moz-focus-inner{border:0}button:not(.button-vue,[class^=vs__]).error,.button.error,input[type=button].error,input[type=submit].error,input[type=reset].error{background-color:var(--color-error) !important;border-color:var(--color-error) !important;color:#fff !important}button:not(.button-vue,[class^=vs__]).error:hover,.button.error:hover,input[type=button].error:hover,input[type=submit].error:hover,input[type=reset].error:hover{background-color:var(--color-error-hover) !important;border-color:var(--color-main-text) !important}button:not(.button-vue,.action-button,[class^=vs__])>span[class^=icon-],button:not(.button-vue,.action-button,[class^=vs__])>span[class*=" icon-"],.button>span[class^=icon-],.button>span[class*=" icon-"]{display:inline-block;vertical-align:text-bottom;opacity:.5}input[type=text]+.icon-confirm,input[type=password]+.icon-confirm,input[type=email]+.icon-confirm{margin-inline-start:-13px !important;border-inline-start-color:rgba(0,0,0,0) !important;border-radius:0 var(--border-radius-large) var(--border-radius-large) 0 !important;border-width:2px;background-clip:padding-box;background-color:var(--color-main-background) !important;opacity:1;height:var(--default-clickable-area);width:var(--default-clickable-area);padding:7px 6px;cursor:pointer;margin-inline-end:0}input[type=text]+.icon-confirm:disabled,input[type=password]+.icon-confirm:disabled,input[type=email]+.icon-confirm:disabled{cursor:default;background-image:var(--icon-confirm-fade-dark)}input[type=text]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm,input[type=password]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm,input[type=email]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm{border-color:var(--color-error)}input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus{border-color:var(--color-primary-element) !important;border-radius:var(--border-radius) !important}input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled{border-color:var(--color-background-darker) !important}input[type=text]:active+.icon-confirm,input[type=text]:hover+.icon-confirm,input[type=text]:focus+.icon-confirm,input[type=password]:active+.icon-confirm,input[type=password]:hover+.icon-confirm,input[type=password]:focus+.icon-confirm,input[type=email]:active+.icon-confirm,input[type=email]:hover+.icon-confirm,input[type=email]:focus+.icon-confirm{border-color:var(--color-primary-element) !important;border-inline-start-color:rgba(0,0,0,0) !important;z-index:2}button img,.button img{cursor:pointer}select,.button.multiselect{font-weight:normal}input[type=checkbox].radio,input[type=checkbox].checkbox,input[type=radio].radio,input[type=radio].checkbox{position:absolute;inset-inline-start:-10000px;top:auto;width:1px;height:1px;overflow:hidden}input[type=checkbox].radio+label,input[type=checkbox].checkbox+label,input[type=radio].radio+label,input[type=radio].checkbox+label{user-select:none}input[type=checkbox].radio:disabled+label,input[type=checkbox].radio:disabled+label:before,input[type=checkbox].checkbox:disabled+label,input[type=checkbox].checkbox:disabled+label:before,input[type=radio].radio:disabled+label,input[type=radio].radio:disabled+label:before,input[type=radio].checkbox:disabled+label,input[type=radio].checkbox:disabled+label:before{cursor:default}input[type=checkbox].radio+label:before,input[type=checkbox].checkbox+label:before,input[type=radio].radio+label:before,input[type=radio].checkbox+label:before{content:"";display:inline-block;height:14px;width:14px;vertical-align:middle;border-radius:50%;margin:0 3px;margin-inline:3px 6px;border:1px solid var(--color-text-maxcontrast)}input[type=checkbox].radio:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].radio:focus+label:before,input[type=checkbox].checkbox:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].checkbox:focus+label:before,input[type=radio].radio:not(:disabled):not(:checked)+label:hover:before,input[type=radio].radio:focus+label:before,input[type=radio].checkbox:not(:disabled):not(:checked)+label:hover:before,input[type=radio].checkbox:focus+label:before{border-color:var(--color-primary-element)}input[type=checkbox].radio:focus-visible+label,input[type=checkbox].checkbox:focus-visible+label,input[type=radio].radio:focus-visible+label,input[type=radio].checkbox:focus-visible+label{outline-style:solid;outline-color:var(--color-main-text);outline-width:1px;outline-offset:2px}input[type=checkbox].radio:checked+label:before,input[type=checkbox].radio.checkbox:indeterminate+label:before,input[type=checkbox].checkbox:checked+label:before,input[type=checkbox].checkbox.checkbox:indeterminate+label:before,input[type=radio].radio:checked+label:before,input[type=radio].radio.checkbox:indeterminate+label:before,input[type=radio].checkbox:checked+label:before,input[type=radio].checkbox.checkbox:indeterminate+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);background-color:var(--color-primary-element);border-color:var(--color-primary-element)}input[type=checkbox].radio:disabled+label:before,input[type=checkbox].checkbox:disabled+label:before,input[type=radio].radio:disabled+label:before,input[type=radio].checkbox:disabled+label:before{border:1px solid var(--color-text-maxcontrast);background-color:var(--color-text-maxcontrast) !important}input[type=checkbox].radio:checked:disabled+label:before,input[type=checkbox].checkbox:checked:disabled+label:before,input[type=radio].radio:checked:disabled+label:before,input[type=radio].checkbox:checked:disabled+label:before{background-color:var(--color-text-maxcontrast)}input[type=checkbox].radio+label~em,input[type=checkbox].checkbox+label~em,input[type=radio].radio+label~em,input[type=radio].checkbox+label~em{display:inline-block;margin-inline-start:25px}input[type=checkbox].radio+label~em:last-of-type,input[type=checkbox].checkbox+label~em:last-of-type,input[type=radio].radio+label~em:last-of-type,input[type=radio].checkbox+label~em:last-of-type{margin-bottom:14px}input[type=checkbox].checkbox+label:before,input[type=radio].checkbox+label:before{border-radius:1px;height:14px;width:14px;box-shadow:none !important;background-position:center}input[type=checkbox].checkbox:checked+label:before,input[type=radio].checkbox:checked+label:before{background-image:url("../img/actions/checkbox-mark.svg")}input[type=checkbox].checkbox:indeterminate+label:before,input[type=radio].checkbox:indeterminate+label:before{background-image:url("../img/actions/checkbox-mixed.svg")}input[type=checkbox].radio--white+label:before,input[type=checkbox].radio--white:focus+label:before,input[type=checkbox].checkbox--white+label:before,input[type=checkbox].checkbox--white:focus+label:before,input[type=radio].radio--white+label:before,input[type=radio].radio--white:focus+label:before,input[type=radio].checkbox--white+label:before,input[type=radio].checkbox--white:focus+label:before{border-color:hsl(0,0%,73%)}input[type=checkbox].radio--white:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].checkbox--white:not(:disabled):not(:checked)+label:hover:before,input[type=radio].radio--white:not(:disabled):not(:checked)+label:hover:before,input[type=radio].checkbox--white:not(:disabled):not(:checked)+label:hover:before{border-color:#fff}input[type=checkbox].radio--white:checked+label:before,input[type=checkbox].checkbox--white:checked+label:before,input[type=radio].radio--white:checked+label:before,input[type=radio].checkbox--white:checked+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);background-color:hsl(0,0%,86%);border-color:hsl(0,0%,86%)}input[type=checkbox].radio--white:disabled+label:before,input[type=checkbox].checkbox--white:disabled+label:before,input[type=radio].radio--white:disabled+label:before,input[type=radio].checkbox--white:disabled+label:before{background-color:hsl(0,0%,73%) !important;border-color:hsla(0,0%,100%,.4) !important}input[type=checkbox].radio--white:checked:disabled+label:before,input[type=checkbox].checkbox--white:checked:disabled+label:before,input[type=radio].radio--white:checked:disabled+label:before,input[type=radio].checkbox--white:checked:disabled+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);border-color:hsla(0,0%,100%,.4) !important;background-color:hsl(0,0%,73%)}input[type=checkbox].checkbox--white:checked+label:before,input[type=checkbox].checkbox--white:indeterminate+label:before,input[type=radio].checkbox--white:checked+label:before,input[type=radio].checkbox--white:indeterminate+label:before{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;background-image:url("../img/actions/checkbox-mark-white.svg")}input[type=checkbox].checkbox--white:indeterminate+label:before,input[type=radio].checkbox--white:indeterminate+label:before{background-image:url("../img/actions/checkbox-mixed-white.svg")}input[type=checkbox].checkbox--white:disabled+label:before,input[type=radio].checkbox--white:disabled+label:before{opacity:.7}div.select2-drop{margin-top:-2px;background-color:var(--color-main-background)}div.select2-drop.select2-drop-active{border-color:var(--color-border-dark)}div.select2-drop .avatar{display:inline-block;margin-inline-end:8px;vertical-align:middle}div.select2-drop .avatar img{cursor:pointer}div.select2-drop .select2-search input{min-height:auto;background:var(--icon-search-dark) no-repeat !important;background-origin:content-box !important}div.select2-drop .select2-results{max-height:250px;margin:0;padding:0}div.select2-drop .select2-results .select2-result-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.select2-drop .select2-results .select2-result-label span{cursor:pointer}div.select2-drop .select2-results .select2-result-label span em{cursor:inherit;background:unset}div.select2-drop .select2-results .select2-result,div.select2-drop .select2-results .select2-no-results,div.select2-drop .select2-results .select2-searching{position:relative;display:list-item;padding:12px;background-color:rgba(0,0,0,0);cursor:pointer;color:var(--color-text-maxcontrast)}div.select2-drop .select2-results .select2-result.select2-selected{background-color:var(--color-background-dark)}div.select2-drop .select2-results .select2-highlighted{background-color:var(--color-background-dark);color:var(--color-main-text)}body[dir=ltr] div.select2-drop .select2-search input{background-position:right center !important}body[dir=rtl] div.select2-drop .select2-search input{background-position:left center !important}.select2-chosen .avatar,.select2-chosen .avatar img,#select2-drop .avatar,#select2-drop .avatar img{cursor:pointer}div.select2-container-multi .select2-choices,div.select2-container-multi.select2-container-active .select2-choices{box-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:var(--color-main-background);color:var(--color-text-maxcontrast) !important;box-sizing:content-box;border-radius:var(--border-radius-large);border:2px solid var(--color-border-dark);margin:0;padding:6px;min-height:44px}div.select2-container-multi .select2-choices:focus-within,div.select2-container-multi.select2-container-active .select2-choices:focus-within{border-color:var(--color-primary-element)}div.select2-container-multi .select2-choices .select2-search-choice,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice{line-height:20px;padding-inline-start:5px}div.select2-container-multi .select2-choices .select2-search-choice.select2-search-choice-focus,div.select2-container-multi .select2-choices .select2-search-choice:hover,div.select2-container-multi .select2-choices .select2-search-choice:active,div.select2-container-multi .select2-choices .select2-search-choice,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice.select2-search-choice-focus,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice:hover,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice:active,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice{background-image:none;background-color:var(--color-main-background);color:var(--color-text-maxcontrast);border:1px solid var(--color-border-dark)}div.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice .select2-search-choice-close{display:none}div.select2-container-multi .select2-choices .select2-search-field input,div.select2-container-multi.select2-container-active .select2-choices .select2-search-field input{line-height:20px;min-height:28px;max-height:28px;color:var(--color-main-text)}div.select2-container-multi .select2-choices .select2-search-field input.select2-active,div.select2-container-multi.select2-container-active .select2-choices .select2-search-field input.select2-active{background:none !important}div.select2-container{margin:3px;margin-inline-start:0}div.select2-container.select2-container-multi .select2-choices{display:flex;flex-wrap:wrap}div.select2-container.select2-container-multi .select2-choices li{float:none}div.select2-container a.select2-choice{box-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:var(--color-main-background);color:var(--color-text-maxcontrast) !important;box-sizing:content-box;border-radius:var(--border-radius-large);border:2px solid var(--color-border-dark);margin:0;padding:6px 12px;min-height:44px}div.select2-container a.select2-choice:focus-within{border-color:var(--color-primary-element)}div.select2-container a.select2-choice .select2-search-choice{line-height:20px;padding-inline-start:5px;background-image:none;background-color:var(--color-background-dark);border-color:var(--color-background-dark)}div.select2-container a.select2-choice .select2-search-choice .select2-search-choice-close{display:none}div.select2-container a.select2-choice .select2-search-choice.select2-search-choice-focus,div.select2-container a.select2-choice .select2-search-choice:hover{background-color:var(--color-border);border-color:var(--color-border)}div.select2-container a.select2-choice .select2-arrow{background:none;border-radius:0;border:none}div.select2-container a.select2-choice .select2-arrow b{background:var(--icon-triangle-s-dark) no-repeat center !important;opacity:.5}div.select2-container a.select2-choice:hover .select2-arrow b,div.select2-container a.select2-choice:focus .select2-arrow b,div.select2-container a.select2-choice:active .select2-arrow b{opacity:.7}div.select2-container a.select2-choice .select2-search-field input{line-height:20px}.v-select{margin:3px;margin-inline-start:0;display:inline-block}.v-select .dropdown-toggle{display:flex !important;flex-wrap:wrap}.v-select .dropdown-toggle .selected-tag{line-height:20px;padding-inline-start:5px;background-image:none;background-color:var(--color-main-background);color:var(--color-text-maxcontrast);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center}.v-select .dropdown-toggle .selected-tag .close{margin-inline-start:3px}.v-select .dropdown-menu{padding:0}.v-select .dropdown-menu li{padding:5px;position:relative;display:list-item;background-color:rgba(0,0,0,0);cursor:pointer;color:var(--color-text-maxcontrast)}.v-select .dropdown-menu li a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:25px;padding-block:3px 4px;padding-inline:2px 7px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:rgba(0,0,0,0) !important;color:inherit !important}.v-select .dropdown-menu li a::before{content:" ";background-image:var(--icon-checkmark-dark);background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-inline-end:5px;visibility:hidden}.v-select .dropdown-menu li.highlight{color:var(--color-main-text)}.v-select .dropdown-menu li.active>a{background-color:var(--color-background-dark);color:var(--color-main-text)}.v-select .dropdown-menu li.active>a::before{visibility:visible}progress:not(.vue){display:block;width:100%;padding:0;border:0 none;background-color:var(--color-background-dark);border-radius:var(--border-radius);flex-basis:100%;height:5px;overflow:hidden}progress:not(.vue).warn::-moz-progress-bar{background:var(--color-error)}progress:not(.vue).warn::-webkit-progress-value{background:var(--color-error)}progress:not(.vue)::-webkit-progress-bar{background:rgba(0,0,0,0)}progress:not(.vue)::-moz-progress-bar{border-radius:var(--border-radius);background:var(--color-primary-element);transition:250ms all ease-in-out}progress:not(.vue)::-webkit-progress-value{border-radius:var(--border-radius);background:var(--color-primary-element);transition:250ms all ease-in-out}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.shake{animation-name:shake;animation-duration:.7s;animation-timing-function:ease-out}label.infield{position:absolute;inset-inline-start:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}::placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}::-ms-input-placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}::-webkit-input-placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}/*# sourceMappingURL=inputs.css.map */
diff --git a/core/css/inputs.css.map b/core/css/inputs.css.map
new file mode 100644
index 00000000000..c0f372b1aa0
--- /dev/null
+++ b/core/css/inputs.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["inputs.scss","variables.scss","functions.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GCFA;AAAA;AAAA;AAAA,GFUA,kFACC,6BAGD,uGACC,wCAGD,sDACC,kCAMD,iHAUC,YACA,yCACA,sBAYA,oFACC,eACA,oCACA,sCACA,QA/BiB,GAmCnB,wBACC,aAID,yJAUC,iBACA,8CACA,6BACA,0CACA,mCACA,aACA,mCACA,YACA,uYACC,WACA,sBAOC,kxDAIC,oCACA,aAED,gmBACC,aACA,8CACA,6BAGF,maACC,6DACA,oDAGF,wNACC,8CACA,6BACA,eACA,WAED,wNACC,gBAED,oPACC,mDAGD,iNACC,8CACA,0CACA,wCACA,eAGA,kvBAEC,+CAIA,mjCAGC,oDACA,gDAED,gwBAEC,4CAED,2WACC,6CAGF,gRAEC,8CACA,6CACA,eAKH,2BACC,WACA,sBACA,gBACA,eACA,gDACA,aACA,mCAEA,8CACA,oCACA,eACA,WAKA,4KACC,6BACA,0BACA,qBAEA,qCAED,0EAIC,YACA,WAID,kBACC,WACA,cACA,gBACA,WACA,eAED,mBACC,SACA,QAED,iBACC,cAKF,6GASC,2FACA,mCACA,WACA,yCACA,eACA,sBACA,8CACA,oDACA,YAEA,kSAEC,0DAGD,mKACC,eAIF,qMAcC,WACA,sBACA,eACA,mCACA,8CACA,6BACA,iDACA,YACA,aACA,yCACA,uBACA,eACA,+0BACC,8CACA,kDAED,yRACC,YAIF,mCACC,8CACA,6BAGD,mCACC,aACA,YAID,OACC,iDACA,gBACA,8CACA,mCAGD,qBACC,qCAGD,qBACC,oCASA,2DACC,eAIA,sFACC,eAMH,sGAQC,iBACA,2CAGA,gMACC,SAGD,oIACC,+CACA,2CACA,sBACA,kKACC,qDACA,+CAaD,4MAEC,qBACA,2BACA,WASF,kGACC,qCACA,mDACA,mFACA,iBACA,4BAEA,yDACA,UACA,qCACA,oCACA,gBACA,eACA,oBACA,6HACC,eEzUF,+CFiVE,yOACC,gCAID,4qBAGC,qDACA,8CACA,6vBACC,uDAQH,+VACC,qDACA,mDAEA,UAOH,uBAEC,eAGD,2BAEC,mBASA,4GAEC,kBACA,4BACA,SACA,UACA,WACA,gBACA,oIACC,iBAED,4WAEC,eAED,gKACC,WACA,qBACA,OAvBmB,KAwBnB,MAxBmB,KAyBnB,sBACA,kBACA,aACA,sBACA,+CAED,oeAEC,0CAED,4LACC,oBACA,qCACA,kBACA,mBAED,4bAIC,8DACA,8CACA,0CAED,oMACC,+CACA,0DAED,oOACC,+CAID,gJACC,qBACA,yBAED,oMACC,cA/DmB,KAmEpB,mFACC,kBACA,OArEmB,KAsEnB,MAtEmB,KAuEnB,2BACA,2BAED,mGACC,yDAED,+GACC,0DAOD,gZAEC,2BAED,wUACC,aAzF0B,KA2F3B,4NACC,8DACA,+BACA,2BAED,gOACC,0CACA,2CAED,gQACC,8DACA,2CACA,+BAID,8OAEC,0CACA,6BACA,+DAED,6HACC,gEAED,mHACC,WAMH,iBACC,gBACA,8CACA,qCACC,sCAED,yBACC,qBACA,sBACA,sBACA,6BACC,eAGF,uCACC,gBACA,wDACA,yCAED,kCACC,iBACA,SACA,UACA,wDACC,mBACA,gBACA,uBACA,6DACC,eACA,gEACC,eACA,iBAIH,6JAGC,kBACA,kBACA,aACA,+BACA,eACA,oCAGA,mEACC,8CAGF,uDACE,8CACA,6BAKJ,qDACC,4CAGD,qDACC,2CAKA,oGAEC,eAKD,mHAEC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,YACA,gBACA,6IACC,0CAED,iKACC,iBACA,yBACA,stBAIC,sBACA,8CACA,oCACA,0CAED,2NACC,aAGF,2KACC,iBACA,gBACA,gBACA,6BACA,yMACC,2BAMJ,sBACC,WACA,sBACA,+DACC,aACA,eACA,kEACC,WAGF,uCACC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,iBACA,gBACA,oDACC,0CAED,8DACC,iBACA,yBACA,sBACA,8CACA,0CACA,2FACC,aAED,8JAEC,qCACA,iCAGF,sDACC,gBACA,gBACA,YACA,wDACC,mEACA,WAGF,2LAGC,WAED,mEACC,iBAMH,UACC,WACA,sBACA,qBACA,2BACC,wBACA,eACA,yCACC,iBACA,yBACA,sBACA,8CACA,oCACA,0CACA,oBACA,mBACA,gDACC,wBAIH,yBACC,UACA,4BACC,YACA,kBACA,kBACA,+BACA,eACA,oCACA,8BACC,mBACA,gBACA,uBACA,YACA,sBACA,uBACA,SACA,eACA,eACA,2BACA,yBACA,sBACA,qBACA,iBACA,oBACA,mBACA,0CACA,yBACA,sCACC,YACA,4CACA,4BACA,2BACA,eACA,gBACA,cACA,WACA,sBACA,kBAGF,sCACC,6BAED,qCACC,8CACA,6BACA,6CACC,mBAQL,mBACC,cACA,WACA,UACA,cACA,8CACA,mCACA,gBACA,WACA,gBAEC,2CACC,8BAED,gDACC,8BAGF,yCACC,yBAED,sCACC,mCACA,wCACA,iCAED,2CACC,mCACA,wCACA,iCAKF,iBACC,QAEC,0BAED,QAEC,yBAED,YAGC,0BAED,QAEC,0BAIF,OACC,qBACA,uBACA,mCAKD,cACC,kBACA,4BACA,aACA,UACA,WACA,gBAWD,cAJC,oCACA,mCAOD,wBARC,oCACA,mCAWD,4BAZC,oCACA","file":"inputs.css"} \ No newline at end of file
diff --git a/core/css/inputs.css.map.license b/core/css/inputs.css.map.license
new file mode 100644
index 00000000000..82ac7cce426
--- /dev/null
+++ b/core/css/inputs.css.map.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/inputs.scss b/core/css/inputs.scss
new file mode 100644
index 00000000000..27136b69ad4
--- /dev/null
+++ b/core/css/inputs.scss
@@ -0,0 +1,896 @@
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+@use 'variables';
+@use 'sass:color';
+@use 'functions';
+
+ /* Specifically override browser styles */
+input, textarea, select, button, div[contenteditable=true], div[contenteditable=false] {
+ font-family: var(--font-face);
+}
+
+.select2-container-multi .select2-choices .select2-search-field input, .select2-search input, .ui-widget {
+ font-family: var(--font-face) !important;
+}
+
+.select2-container.select2-drop-above .select2-choice {
+ background-image: unset !important;
+}
+
+$opacity-disabled: .7;
+
+/* Simple selector to allow easy overriding */
+select,
+button:not(
+ .button-vue,
+ /* "vs__" class prefix is used in the vue-select lib */
+ [class^="vs__"]
+),
+input,
+textarea,
+div[contenteditable=true],
+div[contenteditable=false] {
+ width: 130px;
+ min-height: var(--default-clickable-area);
+ box-sizing: border-box;
+}
+
+/**
+ * color-main-text normal state
+ * color-main-text active state
+ * color-text-maxcontrast disabled state
+ */
+
+button:not(.button-vue),
+input:not([type='range']),
+textarea {
+ &:disabled {
+ cursor: default;
+ color: var(--color-text-maxcontrast);
+ border-color: var(--color-border-dark);
+ opacity: $opacity-disabled;
+ }
+}
+
+input:not([type="range"]) {
+ outline: none;
+}
+
+/* Default global values */
+div.select2-drop .select2-search input, // TODO: REMOVE WHEN DROPPING SELECT2
+input[type='submit'],
+input[type='button'],
+input[type='reset'],
+button:not(
+ .button-vue,
+ [class^="vs__"]
+),
+.button,
+.pager li a {
+ padding: 7px 14px;
+ background-color: var(--color-main-background);
+ color: var(--color-main-text);
+ border: 1px solid var(--color-border-dark);
+ font-size: var(--default-font-size);
+ outline: none;
+ border-radius: var(--border-radius);
+ cursor: text;
+ &:not(.app-navigation-entry-button) {
+ margin: 3px;
+ margin-inline-start: 0;
+ }
+ &:not(
+ :disabled,
+ .primary
+ ) {
+ &:not(.app-navigation-entry-button) {
+ &:hover,
+ &:focus,
+ &.active {
+ /* active class used for multiselect */
+ border-color: var(--color-main-text);
+ outline: none;
+ }
+ &:active {
+ outline: none;
+ background-color: var(--color-main-background);
+ color: var(--color-main-text);
+ }
+ }
+ &:focus-visible {
+ box-shadow: 0 0 0 4px var(--color-main-background) !important;
+ outline: 2px solid var(--color-main-text) !important;
+ }
+ }
+ &:disabled {
+ background-color: var(--color-background-dark);
+ color: var(--color-main-text);
+ cursor: default;
+ opacity: 0.5;
+ }
+ &:required {
+ box-shadow: none;
+ }
+ &:user-invalid {
+ box-shadow: 0 0 0 2px var(--color-error) !important;
+ }
+ /* Primary action button, use sparingly */
+ &.primary {
+ background-color: var(--color-primary-element);
+ border-color: var(--color-primary-element);
+ color: var(--color-primary-element-text);
+ cursor: pointer;
+
+ /* Apply border to primary button if on log in page (and not in a dark container) or if in header */
+ #body-login :not(.body-login-container) &,
+ #header & {
+ border-color: var(--color-primary-element-text);
+ }
+
+ &:not(:disabled) {
+ &:hover,
+ &:focus,
+ &:active {
+ background-color: var(--color-primary-element-hover);
+ border-color: var(--color-primary-element-hover);
+ }
+ &:focus,
+ &:focus-visible {
+ box-shadow: 0 0 0 2px var(--color-main-text);
+ }
+ &:active {
+ color: var(--color-primary-element-text-dark);
+ }
+ }
+ &:disabled {
+ // opacity is already defined to .5 if disabled
+ background-color: var(--color-primary-element);
+ color: var(--color-primary-element-text-dark);
+ cursor: default;
+ }
+ }
+}
+
+div[contenteditable=false] {
+ margin: 3px;
+ margin-inline-start: 0;
+ padding: 7px 6px;
+ font-size: 13px;
+ border: 1px solid var(--color-background-darker);
+ outline: none;
+ border-radius: var(--border-radius);
+
+ background-color: var(--color-background-dark);
+ color: var(--color-text-maxcontrast);
+ cursor: default;
+ opacity: 0.5;
+}
+
+/* Specific override */
+input {
+ &:not([type='radio']):not([type='checkbox']):not([type='range']):not([type='submit']):not([type='button']):not([type='reset']):not([type='color']):not([type='file']):not([type='image']) {
+ -webkit-appearance: textfield;
+ -moz-appearance: textfield;
+ appearance: textfield;
+ // force height for inline elements like inputs (not textarea, contenteditable...)
+ height: var(--default-clickable-area);
+ }
+ &[type='radio'],
+ &[type='checkbox'],
+ &[type='file'],
+ &[type='image'] {
+ height: auto;
+ width: auto;
+ }
+ /* Color input doesn't respect the initial height
+ so we need to set a custom one */
+ &[type='color'] {
+ margin: 3px;
+ padding: 0 2px;
+ min-height: 30px;
+ width: 40px;
+ cursor: pointer;
+ }
+ &[type='hidden'] {
+ height: 0;
+ width: 0;
+ }
+ &[type='time'] {
+ width: initial;
+ }
+}
+
+/* 'Click' inputs */
+select,
+button:not(
+ .button-vue,
+ [class^="vs__"]
+),
+.button,
+input[type='button'],
+input[type='submit'],
+input[type='reset'] {
+ padding: calc((var(--default-clickable-area) - 1lh) / 2) calc(3 * var(--default-grid-baseline));
+ font-size: var(--default-font-size);
+ width: auto;
+ min-height: var(--default-clickable-area);
+ cursor: pointer;
+ box-sizing: border-box;
+ color: var(--color-primary-element-light-text);
+ background-color: var(--color-primary-element-light);
+ border: none;
+
+ &:hover,
+ &:focus {
+ background-color: var(--color-primary-element-light-hover);
+ }
+
+ &:disabled {
+ cursor: default;
+ }
+}
+
+input:not(
+ [type='range'],
+ .input-field__input,
+ [type='submit'],
+ [type='button'],
+ [type='reset'],
+ .multiselect__input,
+ .select2-input,
+ .action-input__input,
+ [class^="vs__"]
+),
+select,
+div[contenteditable=true],
+textarea {
+ margin: 3px;
+ margin-inline-start: 0;
+ padding: 0 12px;
+ font-size: var(--default-font-size);
+ background-color: var(--color-main-background);
+ color: var(--color-main-text);
+ border: 2px solid var(--color-border-maxcontrast);
+ height: 36px;
+ outline: none;
+ border-radius: var(--border-radius-large);
+ text-overflow: ellipsis;
+ cursor: pointer;
+ &:not(:disabled):hover, &:not(:disabled):focus, &:not(:disabled):active {
+ border-color: 2px solid var(--color-main-text);
+ box-shadow: 0 0 0 2px var(--color-main-background);
+ }
+ &:not(:disabled):focus {
+ cursor: text;
+ }
+}
+
+.multiselect__input, .select2-input {
+ background-color: var(--color-main-background);
+ color: var(--color-main-text);
+}
+
+textarea, div[contenteditable=true] {
+ padding: 12px;
+ height: auto;
+}
+
+/* Override the ugly select arrow */
+select {
+ background: var(--icon-triangle-s-dark) no-repeat;
+ appearance: none;
+ background-color: var(--color-main-background);
+ padding-inline-end: 28px !important;
+}
+
+body[dir='ltr'] select {
+ background-position: right 8px center;
+}
+
+body[dir='rtl'] select {
+ background-position: left 8px center;
+}
+
+select,
+button:not(
+ .button-vue,
+ [class^="vs__"]
+),
+.button {
+ * {
+ cursor: pointer;
+ }
+
+ &:disabled {
+ * {
+ cursor: default;
+ }
+ }
+}
+
+/* Buttons */
+button:not(
+ .button-vue,
+ [class^="vs__"]
+),
+.button,
+input[type='button'],
+input[type='submit'],
+input[type='reset'] {
+ font-weight: bold;
+ border-radius: var(--border-radius-element);
+
+ /* Get rid of the inside dotted line in Firefox */
+ &::-moz-focus-inner {
+ border: 0;
+ }
+
+ &.error {
+ background-color: var(--color-error) !important;
+ border-color: var(--color-error) !important;
+ color: #fff !important;
+ &:hover{
+ background-color: var(--color-error-hover) !important;
+ border-color: var(--color-main-text) !important;
+ }
+ }
+}
+
+button:not(
+ .button-vue,
+ .action-button,
+ [class^="vs__"]
+),
+.button {
+ > span {
+ /* icon position inside buttons */
+ &[class^='icon-'],
+ &[class*=' icon-'] {
+ display: inline-block;
+ vertical-align: text-bottom;
+ opacity: 0.5;
+ }
+ }
+}
+
+/* Confirm inputs */
+input[type='text'],
+input[type='password'],
+input[type='email'] {
+ + .icon-confirm {
+ margin-inline-start: -13px !important;
+ border-inline-start-color: transparent !important;
+ border-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;
+ border-width: 2px;
+ background-clip: padding-box;
+ /* Avoid background under border */
+ background-color: var(--color-main-background) !important;
+ opacity: 1;
+ height: var(--default-clickable-area);
+ width: var(--default-clickable-area);
+ padding: 7px 6px;
+ cursor: pointer;
+ margin-inline-end: 0;
+ &:disabled {
+ cursor: default;
+ @include functions.icon-color('confirm-fade', 'actions', variables.$color-black, 2, true);
+ }
+ }
+
+ /* only show confirm borders if input is not focused */
+ &:not(:active):not(:hover):not(:focus){
+ &:invalid {
+ + .icon-confirm {
+ border-color: var(--color-error);
+ }
+ }
+ + .icon-confirm {
+ &:active,
+ &:hover,
+ &:focus {
+ border-color: var(--color-primary-element) !important;
+ border-radius: var(--border-radius) !important;
+ &:disabled {
+ border-color: var(--color-background-darker) !important;
+ }
+ }
+ }
+ }
+ &:active,
+ &:hover,
+ &:focus {
+ + .icon-confirm {
+ border-color: var(--color-primary-element) !important;
+ border-inline-start-color: transparent !important;
+ /* above previous input */
+ z-index: 2;
+ }
+ }
+}
+
+
+/* Various Fixes */
+button img,
+.button img {
+ cursor: pointer;
+}
+
+select,
+.button.multiselect {
+ font-weight: normal;
+}
+
+/* Radio & Checkboxes */
+$checkbox-radio-size: 14px;
+$color-checkbox-radio-white: #fff;
+
+input[type='checkbox'],
+input[type='radio'] {
+ &.radio,
+ &.checkbox {
+ position: absolute;
+ inset-inline-start: -10000px;
+ top: auto;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+ + label {
+ user-select: none;
+ }
+ &:disabled + label,
+ &:disabled + label:before {
+ cursor: default;
+ }
+ + label:before {
+ content: '';
+ display: inline-block;
+ height: $checkbox-radio-size;
+ width: $checkbox-radio-size;
+ vertical-align: middle;
+ border-radius: 50%;
+ margin: 0 3px;
+ margin-inline: 3px 6px;
+ border: 1px solid var(--color-text-maxcontrast);
+ }
+ &:not(:disabled):not(:checked) + label:hover:before,
+ &:focus + label:before {
+ border-color: var(--color-primary-element);
+ }
+ &:focus-visible + label {
+ outline-style: solid;
+ outline-color: var(--color-main-text);
+ outline-width: 1px;
+ outline-offset: 2px;
+ }
+ &:checked + label:before,
+ &.checkbox:indeterminate + label:before {
+ /* ^ :indeterminate have a strange behavior on radio,
+ so we respecified the checkbox class again to be safe */
+ box-shadow: inset 0px 0px 0px 2px var(--color-main-background);
+ background-color: var(--color-primary-element);
+ border-color: var(--color-primary-element);
+ }
+ &:disabled + label:before {
+ border: 1px solid var(--color-text-maxcontrast);
+ background-color: var(--color-text-maxcontrast) !important; /* override other status */
+ }
+ &:checked:disabled + label:before {
+ background-color: var(--color-text-maxcontrast);
+ }
+
+ // Detail description below label of checkbox or radio button
+ & + label ~ em {
+ display: inline-block;
+ margin-inline-start: 25px;
+ }
+ & + label ~ em:last-of-type {
+ margin-bottom: $checkbox-radio-size;
+ }
+ }
+ &.checkbox {
+ + label:before {
+ border-radius: 1px;
+ height: $checkbox-radio-size;
+ width: $checkbox-radio-size;
+ box-shadow: none !important;
+ background-position: center;
+ }
+ &:checked + label:before {
+ background-image: url('../img/actions/checkbox-mark.svg');
+ }
+ &:indeterminate + label:before {
+ background-image: url('../img/actions/checkbox-mixed.svg');
+ }
+ }
+
+ /* We do not use the variables as we keep the colours as white for this variant */
+ &.radio--white,
+ &.checkbox--white {
+ + label:before,
+ &:focus + label:before {
+ border-color: color.adjust($color-checkbox-radio-white, $lightness: -27%, $space: hsl);
+ }
+ &:not(:disabled):not(:checked) + label:hover:before {
+ border-color: $color-checkbox-radio-white;
+ }
+ &:checked + label:before {
+ box-shadow: inset 0px 0px 0px 2px var(--color-main-background);
+ background-color: color.adjust($color-checkbox-radio-white, $lightness: -14%, $space: hsl);
+ border-color: color.adjust($color-checkbox-radio-white, $lightness: -14%, $space: hsl);
+ }
+ &:disabled + label:before {
+ background-color: color.adjust($color-checkbox-radio-white, $lightness: -27%, $space: hsl) !important; /* override other status */
+ border-color: rgba($color-checkbox-radio-white, 0.4) !important; /* override other status */
+ }
+ &:checked:disabled + label:before {
+ box-shadow: inset 0px 0px 0px 2px var(--color-main-background);
+ border-color: rgba($color-checkbox-radio-white, 0.4) !important; /* override other status */
+ background-color: color.adjust($color-checkbox-radio-white, $lightness: -27%, $space: hsl);
+ }
+ }
+ &.checkbox--white {
+ &:checked + label:before,
+ &:indeterminate + label:before {
+ background-color: transparent !important; /* Override default checked */
+ border-color: $color-checkbox-radio-white !important; /* Override default checked */
+ background-image: url('../img/actions/checkbox-mark-white.svg');
+ }
+ &:indeterminate + label:before {
+ background-image: url('../img/actions/checkbox-mixed-white.svg');
+ }
+ &:disabled + label:before {
+ opacity: 0.7; /* No other choice for white background image */
+ }
+ }
+}
+
+/* Select2 overriding. Merged to core with vendor stylesheet */
+div.select2-drop {
+ margin-top: -2px;
+ background-color: var(--color-main-background);
+ &.select2-drop-active {
+ border-color: var(--color-border-dark);
+ }
+ .avatar {
+ display: inline-block;
+ margin-inline-end: 8px;
+ vertical-align: middle;
+ img {
+ cursor: pointer;
+ }
+ }
+ .select2-search input {
+ min-height: auto;
+ background: var(--icon-search-dark) no-repeat !important;
+ background-origin: content-box !important;
+ }
+ .select2-results {
+ max-height: 250px;
+ margin: 0;
+ padding: 0;
+ .select2-result-label {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ span {
+ cursor: pointer;
+ em {
+ cursor: inherit;
+ background: unset;
+ }
+ }
+ }
+ .select2-result,
+ .select2-no-results,
+ .select2-searching {
+ position: relative;
+ display: list-item;
+ padding: 12px;
+ background-color: transparent;
+ cursor: pointer;
+ color: var(--color-text-maxcontrast);
+ }
+ .select2-result {
+ &.select2-selected {
+ background-color: var(--color-background-dark);
+ }
+ }
+ .select2-highlighted {
+ background-color: var(--color-background-dark);
+ color: var(--color-main-text);
+ }
+ }
+}
+
+body[dir='ltr'] div.select2-drop .select2-search input {
+ background-position: right center !important;
+}
+
+body[dir='rtl'] div.select2-drop .select2-search input {
+ background-position: left center !important;
+}
+
+.select2-chosen,
+#select2-drop {
+ .avatar,
+ .avatar img {
+ cursor: pointer;
+ }
+}
+
+div.select2-container-multi {
+ .select2-choices,
+ &.select2-container-active .select2-choices {
+ box-shadow: none;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ background: var(--color-main-background);
+ color: var(--color-text-maxcontrast) !important;
+ box-sizing: content-box;
+ border-radius: var(--border-radius-large);
+ border: 2px solid var(--color-border-dark);
+ margin: 0;
+ padding: 6px;
+ min-height: 44px;
+ &:focus-within {
+ border-color: var(--color-primary-element)
+ }
+ .select2-search-choice {
+ line-height: 20px;
+ padding-inline-start: 5px;
+ &.select2-search-choice-focus,
+ &:hover,
+ &:active,
+ & {
+ background-image: none;
+ background-color: var(--color-main-background);
+ color: var(--color-text-maxcontrast);
+ border: 1px solid var(--color-border-dark);
+ }
+ .select2-search-choice-close {
+ display: none;
+ }
+ }
+ .select2-search-field input {
+ line-height: 20px;
+ min-height: 28px;
+ max-height: 28px;
+ color: var(--color-main-text);
+ &.select2-active {
+ background: none !important;
+ }
+ }
+ }
+}
+
+div.select2-container {
+ margin: 3px;
+ margin-inline-start: 0;
+ &.select2-container-multi .select2-choices {
+ display: flex;
+ flex-wrap: wrap;
+ li {
+ float: none;
+ }
+ }
+ a.select2-choice {
+ box-shadow: none;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ background: var(--color-main-background);
+ color: var(--color-text-maxcontrast) !important;
+ box-sizing: content-box;
+ border-radius: var(--border-radius-large);
+ border: 2px solid var(--color-border-dark);
+ margin: 0;
+ padding: 6px 12px;
+ min-height: 44px;
+ &:focus-within {
+ border-color: var(--color-primary-element)
+ }
+ .select2-search-choice {
+ line-height: 20px;
+ padding-inline-start: 5px;
+ background-image: none;
+ background-color: var(--color-background-dark);
+ border-color: var(--color-background-dark);
+ .select2-search-choice-close {
+ display: none;
+ }
+ &.select2-search-choice-focus,
+ &:hover {
+ background-color: var(--color-border);
+ border-color: var(--color-border);
+ }
+ }
+ .select2-arrow {
+ background: none;
+ border-radius: 0;
+ border: none;
+ b {
+ background: var(--icon-triangle-s-dark) no-repeat center !important;
+ opacity: .5;
+ }
+ }
+ &:hover .select2-arrow b,
+ &:focus .select2-arrow b,
+ &:active .select2-arrow b {
+ opacity: .7;
+ }
+ .select2-search-field input {
+ line-height: 20px;
+ }
+ }
+}
+
+/* Vue v-select */
+.v-select {
+ margin: 3px;
+ margin-inline-start: 0;
+ display: inline-block;
+ .dropdown-toggle {
+ display: flex !important;
+ flex-wrap: wrap;
+ .selected-tag {
+ line-height: 20px;
+ padding-inline-start: 5px;
+ background-image: none;
+ background-color: var(--color-main-background);
+ color: var(--color-text-maxcontrast);
+ border: 1px solid var(--color-border-dark);
+ display: inline-flex;
+ align-items: center;
+ .close {
+ margin-inline-start: 3px;
+ }
+ }
+ }
+ .dropdown-menu {
+ padding: 0;
+ li {
+ padding: 5px;
+ position: relative;
+ display: list-item;
+ background-color: transparent;
+ cursor: pointer;
+ color: var(--color-text-maxcontrast);
+ a {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ height: 25px;
+ padding-block: 3px 4px;
+ padding-inline: 2px 7px;
+ margin: 0;
+ cursor: pointer;
+ min-height: 1em;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ display: inline-flex;
+ align-items: center;
+ background-color: transparent !important;
+ color: inherit !important;
+ &::before {
+ content: ' ';
+ background-image: var(--icon-checkmark-dark);
+ background-repeat: no-repeat;
+ background-position: center;
+ min-width: 16px;
+ min-height: 16px;
+ display: block;
+ opacity: 0.5;
+ margin-inline-end: 5px;
+ visibility: hidden;
+ }
+ }
+ &.highlight {
+ color: var(--color-main-text);
+ }
+ &.active > a {
+ background-color: var(--color-background-dark);
+ color: var(--color-main-text);
+ &::before {
+ visibility: visible;
+ }
+ }
+ }
+ }
+}
+
+/* Progressbar */
+progress:not(.vue) {
+ display: block;
+ width: 100%;
+ padding: 0;
+ border: 0 none;
+ background-color: var(--color-background-dark);
+ border-radius: var(--border-radius);
+ flex-basis: 100%;
+ height: 5px;
+ overflow: hidden;
+ &.warn {
+ &::-moz-progress-bar {
+ background: var(--color-error);
+ }
+ &::-webkit-progress-value {
+ background: var(--color-error);
+ }
+ }
+ &::-webkit-progress-bar {
+ background: transparent;
+ }
+ &::-moz-progress-bar {
+ border-radius: var(--border-radius);
+ background: var(--color-primary-element);
+ transition: 250ms all ease-in-out;
+ }
+ &::-webkit-progress-value {
+ border-radius: var(--border-radius);
+ background: var(--color-primary-element);
+ transition: 250ms all ease-in-out;
+ }
+}
+
+/* Animation */
+@keyframes shake {
+ 10%,
+ 90% {
+ transform: translate(-1px);
+ }
+ 20%,
+ 80% {
+ transform: translate(2px);
+ }
+ 30%,
+ 50%,
+ 70% {
+ transform: translate(-4px);
+ }
+ 40%,
+ 60% {
+ transform: translate(4px);
+ }
+}
+
+.shake {
+ animation-name: shake;
+ animation-duration: .7s;
+ animation-timing-function: ease-out;
+}
+
+// Keep the labels for screen readers but hide them since we use placeholders
+// Same as .hidden-visually
+label.infield {
+ position: absolute;
+ inset-inline-start: -10000px;
+ top: -10000px;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+}
+
+// when rules are grouped using the comma operator and one selector is invalid / unknown then the whole group is invalidated.
+// https://www.w3.org/TR/selectors-3/#grouping
+// In this case `::-ms-input-placeholder` is unknown to Firefox and Chrome
+@mixin placeholder-style {
+ color: var(--color-text-maxcontrast);
+ font-size: var(--default-font-size);
+}
+
+::placeholder {
+ @include placeholder-style;
+}
+
+::-ms-input-placeholder {
+ @include placeholder-style;
+}
+
+::-webkit-input-placeholder {
+ @include placeholder-style;
+}
diff --git a/core/css/jquery-ui-fixes.css b/core/css/jquery-ui-fixes.css
deleted file mode 100644
index 7e0cdd18204..00000000000
--- a/core/css/jquery-ui-fixes.css
+++ /dev/null
@@ -1,138 +0,0 @@
-/* Component containers
-----------------------------------*/
-.ui-widget {
- font-family: "Lucida Grande", Arial, Verdana, sans-serif;
- font-size: 1em;
-}
-.ui-widget button {
- font-family: "Lucida Grande", Arial, Verdana, sans-serif;
-}
-.ui-widget-content {
- border: 1px solid #dddddd;
- background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x;
- color: #333333;
-}
-.ui-widget-content a {
- color: #333333;
-}
-.ui-widget-header {
- border: 1px solid #1d2d44;
- background: #1d2d44 url(images/ui-bg_flat_35_1d2d44_40x100.png) 50% 50% repeat-x;
- color: #ffffff;
-}
-.ui-widget-header a {
- color: #ffffff;
-}
-
-/* Interaction states
-----------------------------------*/
-.ui-state-default,
-.ui-widget-content .ui-state-default,
-.ui-widget-header .ui-state-default {
- border: 1px solid #ddd;
- background: #f8f8f8 url(images/ui-bg_glass_100_f8f8f8_1x400.png) 50% 50% repeat-x;
- font-weight: bold;
- color: #555;
-}
-.ui-state-default a,
-.ui-state-default a:link,
-.ui-state-default a:visited {
- color: #555;
-}
-.ui-state-hover,
-.ui-widget-content .ui-state-hover,
-.ui-widget-header .ui-state-hover,
-.ui-state-focus,
-.ui-widget-content .ui-state-focus,
-.ui-widget-header .ui-state-focus {
- border: 1px solid #ddd;
- background: #ffffff url(images/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x;
- font-weight: bold;
- color: #333;
-}
-.ui-state-hover a,
-.ui-state-hover a:hover,
-.ui-state-hover a:link,
-.ui-state-hover a:visited {
- color: #333;
-}
-.ui-state-active,
-.ui-widget-content .ui-state-active,
-.ui-widget-header .ui-state-active {
- border: 1px solid #1d2d44;
- background: #f8f8f8 url(images/ui-bg_glass_100_f8f8f8_1x400.png) 50% 50% repeat-x;
- font-weight: bold;
- color: #1d2d44;
-}
-.ui-state-active a,
-.ui-state-active a:link,
-.ui-state-active a:visited {
- color: #1d2d44;
-}
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-highlight,
-.ui-widget-content .ui-state-highlight,
-.ui-widget-header .ui-state-highlight {
- border: 1px solid #ddd;
- background: #f8f8f8 url(images/ui-bg_highlight-hard_100_f8f8f8_1x100.png) 50% top repeat-x;
- color: #555;
-}
-.ui-state-highlight a,
-.ui-widget-content .ui-state-highlight a,
-.ui-widget-header .ui-state-highlight a {
- color: #555;
-}
-.ui-state-error,
-.ui-widget-content .ui-state-error,
-.ui-widget-header .ui-state-error {
- border: 1px solid #cd0a0a;
- background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat;
- color: #ffffff;
-}
-.ui-state-error a,
-.ui-widget-content .ui-state-error a,
-.ui-widget-header .ui-state-error a {
- color: #ffffff;
-}
-.ui-state-error-text,
-.ui-widget-content .ui-state-error-text,
-.ui-widget-header .ui-state-error-text {
- color: #ffffff;
-}
-
-/* Icons
-----------------------------------*/
-.ui-state-default .ui-icon {
- background-image: url(images/ui-icons_1d2d44_256x240.png);
-}
-.ui-state-hover .ui-icon,
-.ui-state-focus .ui-icon {
- background-image: url(images/ui-icons_1d2d44_256x240.png);
-}
-.ui-state-active .ui-icon {
- background-image: url(images/ui-icons_1d2d44_256x240.png);
-}
-.ui-state-highlight .ui-icon {
- background-image: url(images/ui-icons_ffffff_256x240.png);
-}
-.ui-state-error .ui-icon,
-.ui-state-error-text .ui-icon {
- background-image: url(images/ui-icons_ffd27a_256x240.png);
-}
-
-/* Misc visuals
-----------------------------------*/
-/* Overlays */
-.ui-widget-overlay {
- background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
- opacity: .5;
-}
-.ui-widget-shadow {
- margin: -5px 0 0 -5px;
- padding: 5px;
- background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x;
- opacity: .2;
- border-radius: 5px;
-}
diff --git a/core/css/jquery.ocdialog.css b/core/css/jquery.ocdialog.css
deleted file mode 100644
index b241dcfea6f..00000000000
--- a/core/css/jquery.ocdialog.css
+++ /dev/null
@@ -1,60 +0,0 @@
-.oc-dialog {
- background: white;
- color: #333333;
- border-radius: 3px; box-shadow: 0 0 7px #888888;
- padding: 15px;
- z-index: 1000;
- font-size: 100%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- min-width: 200px;
-}
-.oc-dialog-title {
- background: white;
- font-weight: bold;
- font-size: 110%;
- margin-bottom: 10px;
-}
-.oc-dialog-content {
- z-index: 1000;
- background: white;
-}
-.oc-dialog-separator {
-}
-.oc-dialog-buttonrow {
- background: white;
- float: right;
- position: relative;
- bottom: 5px;
- display: block;
- margin-top: 10px;
- width: 100%;
-}
-/* align primary button to right, other buttons to left */
-.oc-dialog-buttonrow.twobuttons button:nth-child(1) {
- float: left;
-}
-.oc-dialog-buttonrow.twobuttons button:nth-child(2) {
- float: right;
-}
-
-.oc-dialog-buttonrow.onebutton button {
- float: right;
-}
-
-.oc-dialog-close {
- position:absolute;
- top:7px; right:7px;
- height:20px; width:20px;
- background:url('../img/actions/close.svg') no-repeat center;
-}
-
-.oc-dialog-dim {
- background-color: #000;
- opacity: .20;
- z-index: 999;
- position: fixed;
- top: 0; left: 0;
- width: 100%; height: 100%;
-}
diff --git a/core/css/login/authpicker.css b/core/css/login/authpicker.css
new file mode 100644
index 00000000000..faecfba41a5
--- /dev/null
+++ b/core/css/login/authpicker.css
@@ -0,0 +1,27 @@
+/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+.picker-window {
+ display: inline-block;
+ padding: 16px;
+ margin: 20px;
+ background-color: var(--color-main-background);
+ color: var(--color-main-text);
+ border-radius: var(--border-radius-large);
+ box-shadow: 0 0 10px var(--color-box-shadow);
+ cursor: default;
+}
+
+.picker-window.small {
+ max-width: 400px;
+}
+
+.picker-window h2 {
+ margin: 20px auto;
+}
+
+.apptoken-link {
+ margin: 20px;
+ display: block;
+}
diff --git a/core/css/lostpassword/resetpassword.css b/core/css/lostpassword/resetpassword.css
deleted file mode 100644
index 0b3c251e8d7..00000000000
--- a/core/css/lostpassword/resetpassword.css
+++ /dev/null
@@ -1,7 +0,0 @@
-#reset-password p {
- position: relative;
-}
-
-.text-center {
- text-align: center;
-}
diff --git a/core/css/mobile.css b/core/css/mobile.css
index 5bf0b1e58a7..917982e6af7 100644
--- a/core/css/mobile.css
+++ b/core/css/mobile.css
@@ -1,154 +1,7 @@
-@media only screen and (max-width: 768px) {
-
-#body-login #header {
- padding-top: 10px;
-}
-
-#body-login .wrapper {
- display: -webkit-box;
- -webkit-box-orient: horizontal;
- -webkit-box-pack: center;
- -webkit-box-align: center;
-
- display: -moz-box;
- -moz-box-orient: horizontal;
- -moz-box-pack: center;
- -moz-box-align: center;
-
- display: box;
- box-orient: horizontal;
- box-pack: center;
- box-align: center;
-}
-
-/* on mobile public share, show only the icon of the logo, hide the text */
-#body-public #header .header-appname-container {
- display: none;
-}
-
-/* do not show update notification on mobile */
-#update-notification {
- display: none !important;
-}
-
-/* position share dropdown */
-#dropdown {
- margin-right: 10% !important;
- width: 80% !important;
-}
-
-/* fix name autocomplete not showing on mobile */
-.ui-autocomplete {
- z-index: 1000 !important;
-}
-
-/* fix error display on smaller screens */
-.error-wide {
- width: 100%;
- margin-left: 0 !important;
- box-sizing: border-box;
-}
-
-
-/* APP SIDEBAR TOGGLE and SWIPE ----------------------------------------------*/
-
-#app-navigation,
-#app-content {
- position: absolute !important;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
-}
-
-#app-navigation {
- width: 250px !important;
-}
-
-#app-content {
- width: 100% !important;
- left: 0 !important;
- background-color: #fff;
- overflow-x: hidden !important;
- z-index: 1000;
-}
-
-/* allow horizontal scrollbar in settings
- otherwise user management is not usable on mobile */
-#body-settings #app-content {
- overflow-x: auto !important;
-}
-
-#app-navigation-toggle {
- position: fixed;
- display: inline-block !important;
- top: 45px;
- left: 0;
- width: 44px;
- height: 44px;
- z-index: 149;
- background-color: rgba(255, 255, 255, .7);
- cursor: pointer;
- opacity: .6;
-}
-#app-navigation-toggle:hover,
-#app-navigation-toggle:focus {
- opacity: 1;
-}
-
-
-/* controls bar for mobile */
-#controls {
- min-width: initial !important;
- left: 0 !important;
- padding-left: 0;
-}
-/* position controls for apps with app-navigation */
-#app-navigation+#app-content #controls {
- padding-left: 44px;
-}
-
-/* .viewer-mode is when text editor, PDF viewer, etc is open */
-#body-user .app-files.viewer-mode #controls {
- padding-left: 0 !important;
-}
-.app-files.viewer-mode #app-navigation-toggle {
- display: none !important;
-}
-
-table.multiselect thead {
- left: 0 !important;
-}
-
-
-/* prevent overflow in user management controls bar */
-#usersearchform {
- display: none;
-}
-#body-settings #controls {
- min-width: 768px !important;
-}
-
-
-/* do not show dates in filepicker */
-#oc-dialog-filepicker-content .filelist .date {
- display: none;
-}
-#oc-dialog-filepicker-content .filelist .filename {
- max-width: 80%;
-}
-
-
-/* fix controls bar jumping when navigation is slid out */
-.snapjs-left #app-navigation-toggle,
-.snapjs-left #controls {
- top: 0;
-}
-.snapjs-left table.multiselect thead {
- top: 44px;
-}
-
-
-
-/* end of media query */
-}
+/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */@media only screen and (width < 1024px){#dropdown{margin-inline-end:10% !important;width:80% !important}.ui-autocomplete{z-index:1000 !important}.error-wide{width:100%;margin-inline-start:0 !important;box-sizing:border-box}#app-navigation:not(.vue){transform:translateX(-300px);position:fixed;height:var(--body-height)}.snapjs-left #app-navigation{transform:translateX(0)}#app-navigation:not(.hidden)+#app-content{margin-inline-start:0}.skip-navigation.skip-content{inset-inline-start:3px;margin-inline-start:0}.app-content-list{background:var(--color-main-background);flex:1 1 100%;max-height:unset;max-width:100%}.app-content-list+.app-content-details{display:none}.app-content-list.showdetails{display:none}.app-content-list.showdetails+.app-content-details{display:initial}#app-content.showdetails #app-navigation-toggle{transform:translateX(-44px)}#app-content.showdetails #app-navigation-toggle-back{position:fixed;display:inline-block !important;top:50px;inset-inline-start:0;width:44px;height:44px;z-index:1050;background-color:hsla(0,0%,100%,.7);cursor:pointer;opacity:.6;transform:rotate(90deg)}#app-content.showdetails .app-content-list{transform:translateX(-100%)}#app-navigation-toggle{position:fixed;display:inline-block !important;inset-inline-start:0;width:44px;height:44px;z-index:1050;cursor:pointer;opacity:.6}#app-navigation-toggle:hover,#app-navigation-toggle:focus{opacity:1}#app-navigation+#app-content .files-controls{padding-inline-start:44px}#body-user .app-files.viewer-mode .files-controls{padding-inline-start:0 !important}.app-files.viewer-mode #app-navigation-toggle{display:none !important}table.multiselect thead{inset-inline-start:0 !important}#usersearchform{display:none}#body-settings .files-controls{min-width:1024px !important}}@media only screen and (max-width: 480px){#header .header-end>div>.menu{max-width:calc(100vw - 10px);position:fixed}#header .header-end>div>.menu::after{display:none !important}#header .header-end>div.openedMenu::after{display:block}#header .header-end>div::after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:0;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:15px;z-index:2001;display:none}#header .header-end>div#settings::after{inset-inline-end:27px}}/*# sourceMappingURL=mobile.css.map */
diff --git a/core/css/mobile.css.map b/core/css/mobile.css.map
new file mode 100644
index 00000000000..406572ad8fc
--- /dev/null
+++ b/core/css/mobile.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["mobile.scss","variables.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GDIA,wCAGC,UACC,iCACA,qBAID,iBACC,wBAID,YACC,WACA,iCACA,sBAID,0BACC,6BACA,eACA,0BAGA,6BACC,wBAIF,0CACC,sBAGD,8BACC,uBACA,sBAID,kBACC,wCACA,cAEA,iBAEA,eACA,uCACC,aAED,8BACC,aACA,mDACC,gBAOF,gDACC,4BAED,qDACC,eACA,gCACA,ICiBa,KDhBb,qBACA,WACA,YACA,aACA,oCACA,eACA,WACA,wBAED,2CACC,4BAKF,uBACC,eACA,gCACA,qBACA,WACA,YACA,aACA,eACA,WAED,0DAEC,UAID,6CACC,0BAID,kDACC,kCAED,8CACC,wBAGD,wBACC,gCAID,gBACC,aAED,+BACC,6BAMF,0CACC,8BACC,6BACA,eACA,qCACC,wBAMA,0CACC,cAGF,+BACC,gCACA,iDACA,SACA,YACA,SACA,QACA,kBACA,oBACA,sBACA,aACA,aAID,wCACC","file":"mobile.css"} \ No newline at end of file
diff --git a/core/css/mobile.css.map.license b/core/css/mobile.css.map.license
new file mode 100644
index 00000000000..0801c996d9d
--- /dev/null
+++ b/core/css/mobile.css.map.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/mobile.scss b/core/css/mobile.scss
new file mode 100644
index 00000000000..ebb175a5793
--- /dev/null
+++ b/core/css/mobile.scss
@@ -0,0 +1,168 @@
+/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+@use 'variables';
+
+@media only screen and (width < #{variables.$breakpoint-mobile}) {
+
+ /* position share dropdown */
+ #dropdown {
+ margin-inline-end: 10% !important;
+ width: 80% !important;
+ }
+
+ /* fix name autocomplete not showing on mobile */
+ .ui-autocomplete {
+ z-index: 1000 !important;
+ }
+
+ /* fix error display on smaller screens */
+ .error-wide {
+ width: 100%;
+ margin-inline-start: 0 !important;
+ box-sizing: border-box;
+ }
+
+ /* APP SIDEBAR TOGGLE and SWIPE ----------------------------------------------*/
+ #app-navigation:not(.vue) {
+ transform: translateX(-#{variables.$navigation-width});
+ position: fixed;
+ height: var(--body-height);
+ }
+ .snapjs-left {
+ #app-navigation {
+ transform: translateX(0);
+ }
+ }
+
+ #app-navigation:not(.hidden) + #app-content {
+ margin-inline-start: 0;
+ }
+
+ .skip-navigation.skip-content {
+ inset-inline-start: 3px;
+ margin-inline-start: 0;
+ }
+
+ /* full width for message list on mobile */
+ .app-content-list {
+ background: var(--color-main-background);
+ flex: 1 1 100%;
+ // make full height scroll since app-content-details is hidden
+ max-height: unset;
+ // ignore 300px default max width
+ max-width: 100%;
+ + .app-content-details {
+ display: none;
+ }
+ &.showdetails {
+ display: none;
+ + .app-content-details {
+ display: initial;
+ }
+ }
+ }
+
+ /* Show app details page */
+ #app-content.showdetails {
+ #app-navigation-toggle {
+ transform: translateX(-44px);
+ }
+ #app-navigation-toggle-back {
+ position: fixed;
+ display: inline-block !important;
+ top: variables.$header-height;
+ inset-inline-start: 0;
+ width: 44px;
+ height: 44px;
+ z-index: 1050; // above app-content
+ background-color: rgba(255, 255, 255, .7);
+ cursor: pointer;
+ opacity: .6;
+ transform: rotate(90deg);
+ }
+ .app-content-list {
+ transform: translateX(-100%);
+ }
+
+ }
+
+ #app-navigation-toggle {
+ position: fixed;
+ display: inline-block !important;
+ inset-inline-start: 0;
+ width: 44px;
+ height: 44px;
+ z-index: 1050; // above app-content
+ cursor: pointer;
+ opacity: 0.6;
+ }
+ #app-navigation-toggle:hover,
+ #app-navigation-toggle:focus {
+ opacity: 1;
+ }
+
+ /* position controls for apps with app-navigation */
+ #app-navigation + #app-content .files-controls {
+ padding-inline-start: 44px;
+ }
+
+ /* .viewer-mode is when text editor, PDF viewer, etc is open */
+ #body-user .app-files.viewer-mode .files-controls {
+ padding-inline-start: 0 !important;
+ }
+ .app-files.viewer-mode #app-navigation-toggle {
+ display: none !important;
+ }
+
+ table.multiselect thead {
+ inset-inline-start: 0 !important;
+ }
+
+ /* prevent overflow in user management controls bar */
+ #usersearchform {
+ display: none;
+ }
+ #body-settings .files-controls {
+ min-width: variables.$breakpoint-mobile !important;
+ }
+
+ /* end of media query */
+}
+
+@media only screen and (max-width: 480px) {
+ #header .header-end > div > .menu {
+ max-width: calc(100vw - 10px);
+ position: fixed;
+ &::after {
+ display: none !important;
+ }
+ }
+ /* Arrow directly child of menutoggle */
+ #header .header-end > div {
+ &.openedMenu {
+ &::after {
+ display: block;
+ }
+ }
+ &::after {
+ border: 10px solid transparent;
+ border-bottom-color: var(--color-main-background);
+ bottom: 0;
+ content: ' ';
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none;
+ inset-inline-end: 15px;
+ z-index: 2001;
+ display: none;
+ }
+
+ /* settings need a different offset, since they have a right padding */
+ &#settings::after {
+ inset-inline-end: 27px;
+ }
+ }
+}
diff --git a/core/css/multiselect.css b/core/css/multiselect.css
deleted file mode 100644
index a4b03319156..00000000000
--- a/core/css/multiselect.css
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright (c) 2011, Jan-Christoph Borchardt, http: //jancborchardt.net
-This file is licensed under the Affero General Public License version 3 or later.
-See the COPYING-README file. */
-
-ul.multiselectoptions {
- background-color: #fff;
- border: 1px solid #ddd;
- border-top: none;
- box-shadow: 0 1px 1px #ddd;
- padding-top: 8px;
- position: absolute;
- max-height: 20em;
- overflow-y: auto;
- z-index: 49;
-}
-
-ul.multiselectoptions.down {
- border-bottom-left-radius: 8px;
- border-bottom-right-radius: 8px;
- width: 100%; /* do not cut off group names */
- -webkit-box-shadow: 0px 0px 20px rgba(29,45,68,.4);
- -moz-box-shadow: 0px 0px 20px rgba(29,45,68,.4);
- box-shadow: 0px 0px 20px rgba(29,45,68,.4);
-}
-
-ul.multiselectoptions.up {
- border-top-left-radius: 8px;
- border-top-right-radius: 8px;
-}
-
-ul.multiselectoptions>li {
- overflow: hidden;
- white-space: nowrap;
-}
-
-ul.multiselectoptions > li > input[type="checkbox"]+label:before {
- margin-left: 7px;
-}
-ul.multiselectoptions > li input[type='checkbox']+label {
- font-weight: normal;
- display: inline-block;
- width: 100%;
- padding: 5px 27px;
- margin-left: -27px; /* to have area around checkbox clickable as well */
-}
-ul.multiselectoptions > li input[type='checkbox']:checked+label {
- font-weight: bold;
-}
-
-div.multiselect, select.multiselect {
- display: inline-block;
- max-width: 200px;
- min-width: 150px !important;
- padding-right: 10px;
- min-height: 20px;
- position: relative;
- vertical-align: bottom;
-}
-
-/* To make a select look like a multiselect until it's initialized */
-select.multiselect {
- height: 30px;
- min-width: 113px;
-}
-
-div.multiselect.active {
- background-color: #fff;
- position: relative;
- z-index: 50;
-}
-
-div.multiselect.up {
- border-top: 0 none;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
-}
-
-div.multiselect.down {
- border-bottom: none;
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-div.multiselect>span:first-child {
- float: left;
- margin-right: 32px;
- overflow: hidden;
- text-overflow: ellipsis;
- width: 90%;
- white-space: nowrap;
-}
-
-div.multiselect>span:last-child {
- position: absolute;
- right: 8px;
- top: 8px;
-}
-
-ul.multiselectoptions input.new {
- padding-bottom: 3px;
- padding-top: 3px;
- margin: 0;
-}
-
-ul.multiselectoptions > li.creator {
- padding: 10px;
- font-weight: bold;
-}
-ul.multiselectoptions > li.creator > input {
- width: 95% !important; /* do not constrain size of text input */
- padding: 5px;
- margin: -5px;
-}
-
-.ie8 div.multiselect span:first-child {
- display:block;
- position:relative;
- width: 90%;
- margin-right:-1px;
-}
diff --git a/core/css/public.css b/core/css/public.css
new file mode 100644
index 00000000000..49b4b454295
--- /dev/null
+++ b/core/css/public.css
@@ -0,0 +1,4 @@
+/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */#body-public{--footer-height: calc(2lh + 2 * var(--default-grid-baseline))}#body-public .header-end #header-primary-action a{color:var(--color-primary-element-text)}#body-public .header-end #header-secondary-action ul li{min-width:270px}#body-public .header-end #header-secondary-action #header-actions-toggle{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);filter:var(--background-invert-if-dark)}#body-public .header-end #header-secondary-action #header-actions-toggle:hover,#body-public .header-end #header-secondary-action #header-actions-toggle:focus,#body-public .header-end #header-secondary-action #header-actions-toggle:active{opacity:1}#body-public .header-end #header-secondary-action #external-share-menu-item form{display:flex}#body-public .header-end #header-secondary-action #external-share-menu-item .hidden{display:none}#body-public .header-end #header-secondary-action #external-share-menu-item #save-button-confirm{flex-grow:0}#body-public #content{min-height:var(--body-height, calc(100% - var(--footer-height)));padding-block-end:var(--footer-height)}#body-public #app-content-vue{padding-block-end:var(--footer-height)}#body-public.layout-base #content{padding-top:0}#body-public p.info{margin:20px auto;text-shadow:0 0 2px rgba(0,0,0,.4);-moz-user-select:none;-ms-user-select:none;user-select:none}#body-public p.info,#body-public form fieldset legend,#body-public #datadirContent label,#body-public form fieldset .warning-info,#body-public form input[type=checkbox]+label{text-align:center}#body-public footer{position:fixed;bottom:var(--body-container-margin);background-color:var(--color-main-background);border-radius:var(--body-container-radius);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(100% - 2*var(--body-container-margin));margin-inline:var(--body-container-margin);padding-block:var(--default-grid-baseline)}#body-public footer .footer__legal-links{margin-block-end:var(--default-grid-baseline)}#body-public footer p{text-align:center;color:var(--color-text-maxcontrast);margin-block:0 var(--default-grid-baseline);width:100%}#body-public footer p a{display:inline-block;font-size:var(--default-font-size);font-weight:bold;line-height:var(--default-line-height);height:var(--default-line-height);color:var(--color-text-maxcontrast);white-space:nowrap}/*# sourceMappingURL=public.css.map */
diff --git a/core/css/public.css.map b/core/css/public.css.map
new file mode 100644
index 00000000000..74f63ece47d
--- /dev/null
+++ b/core/css/public.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["public.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAIA,aACC,8DAGC,kDACC,wCAIA,wDACC,gBAED,yEACC,+BACA,2BACA,wCAEA,8OAGC,UAID,iFACC,aAED,oFACC,aAED,iGACC,YAMJ,sBACC,iEACA,uCAGD,8BACC,uCAID,kCACC,cAGD,oBACC,iBACA,mCACA,sBACA,qBACA,iBAED,+KAIC,kBAID,oBACC,eACA,oCACA,8CACA,2CACA,sBAEA,aACA,sBACA,mBACA,uBAEA,kDACA,2CACA,2CAEA,yCACC,8CAGD,sBACC,kBACA,oCACA,4CACA,WAEA,wBACC,qBACA,mCACA,iBACA,uCACA,kCACA,oCACA","file":"public.css"} \ No newline at end of file
diff --git a/core/css/public.css.map.license b/core/css/public.css.map.license
new file mode 100644
index 00000000000..b62adf36215
--- /dev/null
+++ b/core/css/public.css.map.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/public.scss b/core/css/public.scss
new file mode 100644
index 00000000000..92c7a069f3e
--- /dev/null
+++ b/core/css/public.scss
@@ -0,0 +1,108 @@
+/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+#body-public {
+ --footer-height: calc(2lh + 2 * var(--default-grid-baseline)); // Set the initial value, will be updated programmatically to match the actual height
+
+ .header-end {
+ #header-primary-action a {
+ color: var(--color-primary-element-text);
+ }
+
+ #header-secondary-action {
+ ul li {
+ min-width: 270px;
+ }
+ #header-actions-toggle {
+ background-color: transparent;
+ border-color: transparent;
+ filter: var(--background-invert-if-dark);
+
+ &:hover,
+ &:focus,
+ &:active {
+ opacity: 1;
+ }
+ }
+ #external-share-menu-item {
+ form {
+ display: flex;
+ }
+ .hidden {
+ display: none;
+ }
+ #save-button-confirm {
+ flex-grow: 0;
+ }
+ }
+ }
+ }
+
+ #content {
+ min-height: var(--body-height, calc(100% - var(--footer-height)));
+ padding-block-end: var(--footer-height);
+ }
+
+ #app-content-vue {
+ padding-block-end: var(--footer-height);
+ }
+
+ /** don't apply content header padding on the base layout */
+ &.layout-base #content {
+ padding-top: 0;
+ }
+
+ p.info {
+ margin: 20px auto;
+ text-shadow: 0 0 2px rgba(0, 0, 0, .4);
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ }
+ p.info, form fieldset legend,
+ #datadirContent label,
+ form fieldset .warning-info,
+ form input[type='checkbox']+label {
+ text-align: center;
+ }
+
+ /* public footer */
+ footer {
+ position: fixed;
+ bottom: var(--body-container-margin);
+ background-color: var(--color-main-background);
+ border-radius: var(--body-container-radius);
+ box-sizing: border-box;
+
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+
+ width: calc(100% - 2 * var(--body-container-margin));
+ margin-inline: var(--body-container-margin);
+ padding-block: var(--default-grid-baseline);
+
+ .footer__legal-links {
+ margin-block-end: var(--default-grid-baseline);
+ }
+
+ p {
+ text-align: center;
+ color: var(--color-text-maxcontrast);
+ margin-block: 0 var(--default-grid-baseline);
+ width: 100%;
+
+ a {
+ display: inline-block;
+ font-size: var(--default-font-size);
+ font-weight: bold;
+ line-height: var(--default-line-height);
+ height: var(--default-line-height);
+ color: var(--color-text-maxcontrast);
+ white-space: nowrap;
+ }
+ }
+ }
+}
diff --git a/core/css/publicshareauth.css b/core/css/publicshareauth.css
new file mode 100644
index 00000000000..2bc4c592deb
--- /dev/null
+++ b/core/css/publicshareauth.css
@@ -0,0 +1,40 @@
+/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+form fieldset {
+ display: flex !important;
+ flex-direction: column;
+}
+
+form fieldset > p {
+ position: relative;
+}
+
+#email,
+#password {
+ margin: 5px 0;
+ padding-right: 45px;
+ height: 45px;
+ box-sizing: border-box;
+ flex: 1 1 auto;
+ width: 100% !important;
+ min-width: 0; /* FF hack for to override default value */
+}
+
+#password-input-form input[type='submit'],
+#email-input-form input[type='submit'],
+#email-input-form input[type='submit'].icon-confirm,
+#password-input-form input[type='submit'].icon-confirm {
+ position: absolute;
+ top: 0px;
+ right: -5px;
+ width: 45px !important;
+ height: 45px;
+ background-color: transparent !important;
+}
+
+.warning > .warning {
+ /* Do not use a top margin for warning messages in the warning container. */
+ margin-top: 0;
+}
diff --git a/core/css/server.css b/core/css/server.css
new file mode 100644
index 00000000000..6abf729eb05
--- /dev/null
+++ b/core/css/server.css
@@ -0,0 +1,67 @@
+/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */@import'../../dist/icons.css';/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */:root{font-size:var(--default-font-size);line-height:var(--default-line-height)}html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,dialog,figure,footer,header,hgroup,nav,section,main{margin:0;padding:0;border:0;font-weight:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;cursor:default;scrollbar-color:var(--color-scrollbar)}.js-focus-visible :focus:not(.focus-visible){outline:none}.content:not(#content-vue) :focus-visible{box-shadow:inset 0 0 0 2px var(--color-primary-element);outline:none}html,body{height:100%;overscroll-behavior-y:contain}article,aside,dialog,figure,footer,header,hgroup,nav,section{display:block}table{border-collapse:separate;border-spacing:0;white-space:nowrap}caption,th,td{text-align:start;font-weight:normal}table,td,th{vertical-align:middle}a{border:0;color:var(--color-main-text);text-decoration:none;cursor:pointer}a *{cursor:pointer}a.external{margin:0 3px;text-decoration:underline}input{cursor:pointer}input *{cursor:pointer}select,.button span,label{cursor:pointer}ul{list-style:none}body{font-weight:normal;font-size:var(--default-font-size);line-height:var(--default-line-height);font-family:var(--font-face);color:var(--color-main-text)}.two-factor-header{text-align:center}.two-factor-provider{text-align:center;width:100% !important;display:inline-block;margin-bottom:0 !important;background-color:var(--color-background-darker) !important;border:none !important}.two-factor-link{display:inline-block;padding:12px;color:var(--color-text-lighter)}.float-spinner{height:32px;display:none}#nojavascript{position:fixed;top:0;bottom:0;inset-inline-start:0;height:100%;width:100%;z-index:9000;text-align:center;background-color:var(--color-background-darker);color:var(--color-primary-element-text);line-height:125%;font-size:24px}#nojavascript div{display:block;position:relative;width:50%;top:35%;margin:0px auto}#nojavascript a{color:var(--color-primary-element-text);border-bottom:2px dotted var(--color-main-background)}#nojavascript a:hover,#nojavascript a:focus{color:var(--color-primary-element-text-dark)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}::-webkit-scrollbar-track-piece{background-color:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:var(--border-radius-large);border:2px solid rgba(0,0,0,0);background-clip:content-box}::selection{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}#app-navigation *{box-sizing:border-box}#emptycontent,.emptycontent{color:var(--color-text-maxcontrast);text-align:center;margin-top:30vh;width:100%}#app-sidebar #emptycontent,#app-sidebar .emptycontent{margin-top:10vh}#emptycontent .emptycontent-search,.emptycontent .emptycontent-search{position:static}#emptycontent h2,.emptycontent h2{margin-bottom:10px}#emptycontent [class^=icon-],#emptycontent [class*=icon-],.emptycontent [class^=icon-],.emptycontent [class*=icon-]{background-size:64px;height:64px;width:64px;margin:0 auto 15px}#emptycontent [class^=icon-]:not([class^=icon-loading]),#emptycontent [class^=icon-]:not([class*=icon-loading]),#emptycontent [class*=icon-]:not([class^=icon-loading]),#emptycontent [class*=icon-]:not([class*=icon-loading]),.emptycontent [class^=icon-]:not([class^=icon-loading]),.emptycontent [class^=icon-]:not([class*=icon-loading]),.emptycontent [class*=icon-]:not([class^=icon-loading]),.emptycontent [class*=icon-]:not([class*=icon-loading]){opacity:.4}#datadirContent label{width:100%}.grouptop,.groupmiddle,.groupbottom{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#show,#dbpassword{position:absolute;inset-inline-end:1em;top:.8em;float:right}body[dir=rtl] #show,body[dir=rtl] #dbpassword{float:left}#show+label,#dbpassword+label{inset-inline-end:21px;top:15px !important;margin:-14px !important;padding:14px !important}#show:checked+label,#dbpassword:checked+label,#personal-show:checked+label{opacity:.8}#show:focus-visible+label,#dbpassword-toggle:focus-visible+label,#personal-show:focus-visible+label{box-shadow:var(--color-primary-element) 0 0 0 2px;opacity:1;border-radius:9999px}#show+label,#dbpassword+label,#personal-show+label{position:absolute !important;height:20px;width:24px;background-image:var(--icon-toggle-dark);background-repeat:no-repeat;background-position:center;opacity:.3}#show:focus+label,#dbpassword:focus+label,#personal-show:focus+label{opacity:1}#show+label:hover,#dbpassword+label:hover,#personal-show+label:hover{opacity:1}#show+label:before,#dbpassword+label:before,#personal-show+label:before{display:none}#pass2,input[name=personal-password-clone]{padding-inline-end:30px}.personal-show-container{position:relative;display:inline-block;margin-inline-end:6px}#personal-show+label{display:block;inset-inline-end:0;margin-top:-43px;margin-inline-end:-4px;padding:22px}#body-user .warning,#body-settings .warning{margin-top:8px;padding:5px;border-radius:var(--border-radius);color:var(--color-main-text);background-color:rgba(var(--color-warning-rgb), 0.2)}.warning legend,.warning a{font-weight:bold !important}.error:not(.toastify) a{color:#fff !important;font-weight:bold !important}.error:not(.toastify) a.button{color:var(--color-text-lighter) !important;display:inline-block;text-align:center}.error:not(.toastify) pre{white-space:pre-wrap;text-align:start}.error-wide{width:700px;margin-inline-start:-200px !important}.error-wide .button{color:#000 !important}.warning-input{border-color:var(--color-error) !important}.avatar,.avatardiv{border-radius:50%;flex-shrink:0}.avatar>img,.avatardiv>img{border-radius:50%;flex-shrink:0}td.avatar{border-radius:0}tr .action:not(.permanent),.selectedActions>a{opacity:0}tr .action{width:16px;height:16px}tr:hover .action:hover,tr:focus .action:focus{opacity:1}tr:hover .action:not(.menuitem),tr:focus .action:not(.menuitem),tr .action.permanent:not(.menuitem){opacity:.5}.selectedActions>a{opacity:.5;position:relative;top:2px}.selectedActions>a:hover,.selectedActions>a:focus{opacity:1}.selectedActions a:hover,.selectedActions a:focus{opacity:1}.header-action{opacity:.8}.header-action:hover,.header-action:focus{opacity:1}tbody tr:not(.group-header):hover,tbody tr:not(.group-header):focus,tbody tr:not(.group-header):active{background-color:var(--color-background-dark)}code{font-family:"Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono",monospace}.pager{list-style:none;float:right;display:inline;margin:.7em 13em 0 0}.pager li{display:inline-block}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{overflow:hidden;text-overflow:ellipsis}.ui-icon-circle-triangle-e{background-image:url("../img/actions/play-next.svg?v=1")}.ui-icon-circle-triangle-w{background-image:url("../img/actions/play-previous.svg?v=1")}.ui-widget.ui-datepicker{margin-top:10px;padding:4px 8px;width:auto;border-radius:var(--border-radius);border:none;z-index:1600 !important}.ui-widget.ui-datepicker .ui-state-default,.ui-widget.ui-datepicker .ui-widget-content .ui-state-default,.ui-widget.ui-datepicker .ui-widget-header .ui-state-default{border:1px solid rgba(0,0,0,0);background:inherit}.ui-widget.ui-datepicker .ui-widget-header{padding:7px;font-size:13px;border:none;background-color:var(--color-main-background);color:var(--color-main-text)}.ui-widget.ui-datepicker .ui-widget-header .ui-datepicker-title{line-height:1;font-weight:normal}.ui-widget.ui-datepicker .ui-widget-header .ui-icon{opacity:.5}.ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e,.ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background-position:center center;background-repeat:no-repeat}.ui-widget.ui-datepicker .ui-widget-header .ui-state-hover .ui-icon{opacity:1}.ui-widget.ui-datepicker .ui-datepicker-calendar th{font-weight:normal;color:var(--color-text-lighter);opacity:.8;width:26px;padding:2px}.ui-widget.ui-datepicker .ui-datepicker-calendar tr:hover{background-color:inherit}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a:not(.ui-state-hover){background-color:var(--color-background-darker)}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a.ui-state-active,.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-state-hover,.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-state-focus{background-color:var(--color-primary-element);color:var(--color-primary-element-text);font-weight:bold}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-week-end:not(.ui-state-disabled) :not(.ui-state-hover),.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-priority-secondary:not(.ui-state-hover){color:var(--color-text-lighter);opacity:.8}body[dir=ltr] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:url("../img/actions/arrow-right.svg")}body[dir=ltr] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:url("../img/actions/arrow-left.svg")}body[dir=rtl] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:url("../img/actions/arrow-left.svg")}body[dir=rtl] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:url("../img/actions/arrow-right.svg")}.ui-datepicker-prev,.ui-datepicker-next{border:var(--color-border-dark);background:var(--color-main-background)}.ui-widget.ui-timepicker{margin-top:10px !important;width:auto !important;border-radius:var(--border-radius);z-index:1600 !important}.ui-widget.ui-timepicker .ui-widget-content{border:none !important}.ui-widget.ui-timepicker .ui-state-default,.ui-widget.ui-timepicker .ui-widget-content .ui-state-default,.ui-widget.ui-timepicker .ui-widget-header .ui-state-default{border:1px solid rgba(0,0,0,0);background:inherit}.ui-widget.ui-timepicker .ui-widget-header{padding:7px;font-size:13px;border:none;background-color:var(--color-main-background);color:var(--color-main-text)}.ui-widget.ui-timepicker .ui-widget-header .ui-timepicker-title{line-height:1;font-weight:normal}.ui-widget.ui-timepicker table.ui-timepicker tr .ui-timepicker-hour-cell:first-child{margin-inline-start:30px}.ui-widget.ui-timepicker .ui-timepicker-table th{font-weight:normal;color:var(--color-text-lighter);opacity:.8}.ui-widget.ui-timepicker .ui-timepicker-table th.periods{padding:0;width:30px;line-height:30px}.ui-widget.ui-timepicker .ui-timepicker-table tr:hover{background-color:inherit}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-hour-cell a.ui-state-active,.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-minute-cell a.ui-state-active,.ui-widget.ui-timepicker .ui-timepicker-table td .ui-state-hover,.ui-widget.ui-timepicker .ui-timepicker-table td .ui-state-focus{background-color:var(--color-primary-element);color:var(--color-primary-element-text);font-weight:bold}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-minutes:not(.ui-state-hover){color:var(--color-text-lighter)}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-hours{border-inline-end:1px solid var(--color-border)}.ui-widget.ui-datepicker .ui-datepicker-calendar tr,.ui-widget.ui-timepicker table.ui-timepicker tr{display:flex;flex-wrap:nowrap;justify-content:space-between}.ui-widget.ui-datepicker .ui-datepicker-calendar tr td,.ui-widget.ui-timepicker table.ui-timepicker tr td{flex:1 1 auto;margin:0;padding:2px;height:26px;width:26px;display:flex;align-items:center;justify-content:center}.ui-widget.ui-datepicker .ui-datepicker-calendar tr td>*,.ui-widget.ui-timepicker table.ui-timepicker tr td>*{border-radius:50%;text-align:center;font-weight:normal;color:var(--color-main-text);display:block;line-height:18px;width:18px;height:18px;padding:3px;font-size:.9em}.ui-dialog{position:fixed !important}span.ui-icon{float:left;margin-block:3px 30px;margin-inline:0 7px}.extra-data{padding-inline-end:5px !important}#tagsdialog .content{width:100%;height:280px}#tagsdialog .scrollarea{overflow:auto;border:1px solid var(--color-background-darker);width:100%;height:240px}#tagsdialog .bottombuttons{width:100%;height:30px}#tagsdialog .bottombuttons *{float:left}#tagsdialog .taglist li{background:var(--color-background-dark);padding:.3em .8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transition:background-color 500ms;transition:background-color 500ms}#tagsdialog .taglist li:hover,#tagsdialog .taglist li:active{background:var(--color-background-darker)}#tagsdialog .addinput{width:90%;clear:both}.breadcrumb{display:inline-flex;height:50px}li.crumb{display:inline-flex;background-image:url("../img/breadcrumb.svg?v=1");background-repeat:no-repeat;background-position:right center;height:44px;background-size:auto 24px;flex:0 0 auto;order:1;padding-inline-end:7px}li.crumb.crumbmenu{order:2;position:relative}li.crumb.crumbmenu a{opacity:.5}li.crumb.crumbmenu.canDropChildren .popovermenu,li.crumb.crumbmenu.canDrop .popovermenu{display:block}li.crumb.crumbmenu .popovermenu{top:100%;margin-inline-end:3px}li.crumb.crumbmenu .popovermenu ul{max-height:345px;overflow-y:auto;overflow-x:hidden;padding-inline-end:5px}li.crumb.crumbmenu .popovermenu ul li.canDrop span:first-child{background-image:url("../img/filetypes/folder-drag-accept.svg?v=1") !important}li.crumb.crumbmenu .popovermenu .in-breadcrumb{display:none}li.crumb.hidden{display:none}li.crumb.hidden~.crumb{order:3}li.crumb>a,li.crumb>span{position:relative;padding:12px;opacity:.5;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;flex:0 0 auto;max-width:200px}li.crumb>a.icon-home,li.crumb>a.icon-delete,li.crumb>span.icon-home,li.crumb>span.icon-delete{text-indent:-9999px}li.crumb>a[class^=icon-]{padding:0;width:44px}li.crumb:last-child{font-weight:bold;margin-inline-end:10px}li.crumb:last-child a~span{padding-inline-start:0}li.crumb:hover,li.crumb:focus,li.crumb a:focus,li.crumb:active{opacity:1}li.crumb:hover>a,li.crumb:hover>span,li.crumb:focus>a,li.crumb:focus>span,li.crumb a:focus>a,li.crumb a:focus>span,li.crumb:active>a,li.crumb:active>span{opacity:.7}.appear{opacity:1;-webkit-transition:opacity 500ms ease 0s;-moz-transition:opacity 500ms ease 0s;-ms-transition:opacity 500ms ease 0s;-o-transition:opacity 500ms ease 0s;transition:opacity 500ms ease 0s}.appear.transparent{opacity:0}fieldset.warning legend,fieldset.update legend{top:18px;position:relative}fieldset.warning legend+p,fieldset.update legend+p{margin-top:12px}@-ms-viewport{width:device-width}.hiddenuploadfield{display:none;width:0;height:0;opacity:0}/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */input,textarea,select,button,div[contenteditable=true],div[contenteditable=false]{font-family:var(--font-face)}.select2-container-multi .select2-choices .select2-search-field input,.select2-search input,.ui-widget{font-family:var(--font-face) !important}.select2-container.select2-drop-above .select2-choice{background-image:unset !important}select,button:not(.button-vue,[class^=vs__]),input,textarea,div[contenteditable=true],div[contenteditable=false]{width:130px;min-height:var(--default-clickable-area);box-sizing:border-box}button:not(.button-vue):disabled,input:not([type=range]):disabled,textarea:disabled{cursor:default;color:var(--color-text-maxcontrast);border-color:var(--color-border-dark);opacity:.7}input:not([type=range]){outline:none}div.select2-drop .select2-search input,input[type=submit],input[type=button],input[type=reset],button:not(.button-vue,[class^=vs__]),.button,.pager li a{padding:7px 14px;background-color:var(--color-main-background);color:var(--color-main-text);border:1px solid var(--color-border-dark);font-size:var(--default-font-size);outline:none;border-radius:var(--border-radius);cursor:text}div.select2-drop .select2-search input:not(.app-navigation-entry-button),input[type=submit]:not(.app-navigation-entry-button),input[type=button]:not(.app-navigation-entry-button),input[type=reset]:not(.app-navigation-entry-button),button:not(.button-vue,[class^=vs__]):not(.app-navigation-entry-button),.button:not(.app-navigation-entry-button),.pager li a:not(.app-navigation-entry-button){margin:3px;margin-inline-start:0}div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):hover,div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):focus,div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button).active,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):hover,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):focus,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button).active,.button:not(:disabled,.primary):not(.app-navigation-entry-button):hover,.button:not(:disabled,.primary):not(.app-navigation-entry-button):focus,.button:not(:disabled,.primary):not(.app-navigation-entry-button).active,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):hover,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):focus,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button).active{border-color:var(--color-main-text);outline:none}div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):active,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):active,.button:not(:disabled,.primary):not(.app-navigation-entry-button):active,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):active{outline:none;background-color:var(--color-main-background);color:var(--color-main-text)}div.select2-drop .select2-search input:not(:disabled,.primary):focus-visible,input[type=submit]:not(:disabled,.primary):focus-visible,input[type=button]:not(:disabled,.primary):focus-visible,input[type=reset]:not(:disabled,.primary):focus-visible,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):focus-visible,.button:not(:disabled,.primary):focus-visible,.pager li a:not(:disabled,.primary):focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}div.select2-drop .select2-search input:disabled,input[type=submit]:disabled,input[type=button]:disabled,input[type=reset]:disabled,button:not(.button-vue,[class^=vs__]):disabled,.button:disabled,.pager li a:disabled{background-color:var(--color-background-dark);color:var(--color-main-text);cursor:default;opacity:.5}div.select2-drop .select2-search input:required,input[type=submit]:required,input[type=button]:required,input[type=reset]:required,button:not(.button-vue,[class^=vs__]):required,.button:required,.pager li a:required{box-shadow:none}div.select2-drop .select2-search input:user-invalid,input[type=submit]:user-invalid,input[type=button]:user-invalid,input[type=reset]:user-invalid,button:not(.button-vue,[class^=vs__]):user-invalid,.button:user-invalid,.pager li a:user-invalid{box-shadow:0 0 0 2px var(--color-error) !important}div.select2-drop .select2-search input.primary,input[type=submit].primary,input[type=button].primary,input[type=reset].primary,button:not(.button-vue,[class^=vs__]).primary,.button.primary,.pager li a.primary{background-color:var(--color-primary-element);border-color:var(--color-primary-element);color:var(--color-primary-element-text);cursor:pointer}#body-login :not(.body-login-container) div.select2-drop .select2-search input.primary,#header div.select2-drop .select2-search input.primary,#body-login :not(.body-login-container) input[type=submit].primary,#header input[type=submit].primary,#body-login :not(.body-login-container) input[type=button].primary,#header input[type=button].primary,#body-login :not(.body-login-container) input[type=reset].primary,#header input[type=reset].primary,#body-login :not(.body-login-container) button:not(.button-vue,[class^=vs__]).primary,#header button:not(.button-vue,[class^=vs__]).primary,#body-login :not(.body-login-container) .button.primary,#header .button.primary,#body-login :not(.body-login-container) .pager li a.primary,#header .pager li a.primary{border-color:var(--color-primary-element-text)}div.select2-drop .select2-search input.primary:not(:disabled):hover,div.select2-drop .select2-search input.primary:not(:disabled):focus,div.select2-drop .select2-search input.primary:not(:disabled):active,input[type=submit].primary:not(:disabled):hover,input[type=submit].primary:not(:disabled):focus,input[type=submit].primary:not(:disabled):active,input[type=button].primary:not(:disabled):hover,input[type=button].primary:not(:disabled):focus,input[type=button].primary:not(:disabled):active,input[type=reset].primary:not(:disabled):hover,input[type=reset].primary:not(:disabled):focus,input[type=reset].primary:not(:disabled):active,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):hover,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):active,.button.primary:not(:disabled):hover,.button.primary:not(:disabled):focus,.button.primary:not(:disabled):active,.pager li a.primary:not(:disabled):hover,.pager li a.primary:not(:disabled):focus,.pager li a.primary:not(:disabled):active{background-color:var(--color-primary-element-hover);border-color:var(--color-primary-element-hover)}div.select2-drop .select2-search input.primary:not(:disabled):focus,div.select2-drop .select2-search input.primary:not(:disabled):focus-visible,input[type=submit].primary:not(:disabled):focus,input[type=submit].primary:not(:disabled):focus-visible,input[type=button].primary:not(:disabled):focus,input[type=button].primary:not(:disabled):focus-visible,input[type=reset].primary:not(:disabled):focus,input[type=reset].primary:not(:disabled):focus-visible,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus-visible,.button.primary:not(:disabled):focus,.button.primary:not(:disabled):focus-visible,.pager li a.primary:not(:disabled):focus,.pager li a.primary:not(:disabled):focus-visible{box-shadow:0 0 0 2px var(--color-main-text)}div.select2-drop .select2-search input.primary:not(:disabled):active,input[type=submit].primary:not(:disabled):active,input[type=button].primary:not(:disabled):active,input[type=reset].primary:not(:disabled):active,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):active,.button.primary:not(:disabled):active,.pager li a.primary:not(:disabled):active{color:var(--color-primary-element-text-dark)}div.select2-drop .select2-search input.primary:disabled,input[type=submit].primary:disabled,input[type=button].primary:disabled,input[type=reset].primary:disabled,button:not(.button-vue,[class^=vs__]).primary:disabled,.button.primary:disabled,.pager li a.primary:disabled{background-color:var(--color-primary-element);color:var(--color-primary-element-text-dark);cursor:default}div[contenteditable=false]{margin:3px;margin-inline-start:0;padding:7px 6px;font-size:13px;border:1px solid var(--color-background-darker);outline:none;border-radius:var(--border-radius);background-color:var(--color-background-dark);color:var(--color-text-maxcontrast);cursor:default;opacity:.5}input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):not([type=color]):not([type=file]):not([type=image]){-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;height:var(--default-clickable-area)}input[type=radio],input[type=checkbox],input[type=file],input[type=image]{height:auto;width:auto}input[type=color]{margin:3px;padding:0 2px;min-height:30px;width:40px;cursor:pointer}input[type=hidden]{height:0;width:0}input[type=time]{width:initial}select,button:not(.button-vue,[class^=vs__]),.button,input[type=button],input[type=submit],input[type=reset]{padding:calc((var(--default-clickable-area) - 1lh)/2) calc(3*var(--default-grid-baseline));font-size:var(--default-font-size);width:auto;min-height:var(--default-clickable-area);cursor:pointer;box-sizing:border-box;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light);border:none}select:hover,select:focus,button:not(.button-vue,[class^=vs__]):hover,button:not(.button-vue,[class^=vs__]):focus,.button:hover,.button:focus,input[type=button]:hover,input[type=button]:focus,input[type=submit]:hover,input[type=submit]:focus,input[type=reset]:hover,input[type=reset]:focus{background-color:var(--color-primary-element-light-hover)}select:disabled,button:not(.button-vue,[class^=vs__]):disabled,.button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled{cursor:default}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]),select,div[contenteditable=true],textarea{margin:3px;margin-inline-start:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);height:36px;outline:none;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):hover,input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):focus,input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):active,select:not(:disabled):hover,select:not(:disabled):focus,select:not(:disabled):active,div[contenteditable=true]:not(:disabled):hover,div[contenteditable=true]:not(:disabled):focus,div[contenteditable=true]:not(:disabled):active,textarea:not(:disabled):hover,textarea:not(:disabled):focus,textarea:not(:disabled):active{border-color:2px solid var(--color-main-text);box-shadow:0 0 0 2px var(--color-main-background)}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):focus,select:not(:disabled):focus,div[contenteditable=true]:not(:disabled):focus,textarea:not(:disabled):focus{cursor:text}.multiselect__input,.select2-input{background-color:var(--color-main-background);color:var(--color-main-text)}textarea,div[contenteditable=true]{padding:12px;height:auto}select{background:var(--icon-triangle-s-dark) no-repeat;appearance:none;background-color:var(--color-main-background);padding-inline-end:28px !important}body[dir=ltr] select{background-position:right 8px center}body[dir=rtl] select{background-position:left 8px center}select *,button:not(.button-vue,[class^=vs__]) *,.button *{cursor:pointer}select:disabled *,button:not(.button-vue,[class^=vs__]):disabled *,.button:disabled *{cursor:default}button:not(.button-vue,[class^=vs__]),.button,input[type=button],input[type=submit],input[type=reset]{font-weight:bold;border-radius:var(--border-radius-element)}button:not(.button-vue,[class^=vs__])::-moz-focus-inner,.button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=submit]::-moz-focus-inner,input[type=reset]::-moz-focus-inner{border:0}button:not(.button-vue,[class^=vs__]).error,.button.error,input[type=button].error,input[type=submit].error,input[type=reset].error{background-color:var(--color-error) !important;border-color:var(--color-error) !important;color:#fff !important}button:not(.button-vue,[class^=vs__]).error:hover,.button.error:hover,input[type=button].error:hover,input[type=submit].error:hover,input[type=reset].error:hover{background-color:var(--color-error-hover) !important;border-color:var(--color-main-text) !important}button:not(.button-vue,.action-button,[class^=vs__])>span[class^=icon-],button:not(.button-vue,.action-button,[class^=vs__])>span[class*=" icon-"],.button>span[class^=icon-],.button>span[class*=" icon-"]{display:inline-block;vertical-align:text-bottom;opacity:.5}input[type=text]+.icon-confirm,input[type=password]+.icon-confirm,input[type=email]+.icon-confirm{margin-inline-start:-13px !important;border-inline-start-color:rgba(0,0,0,0) !important;border-radius:0 var(--border-radius-large) var(--border-radius-large) 0 !important;border-width:2px;background-clip:padding-box;background-color:var(--color-main-background) !important;opacity:1;height:var(--default-clickable-area);width:var(--default-clickable-area);padding:7px 6px;cursor:pointer;margin-inline-end:0}input[type=text]+.icon-confirm:disabled,input[type=password]+.icon-confirm:disabled,input[type=email]+.icon-confirm:disabled{cursor:default;background-image:var(--icon-confirm-fade-dark)}input[type=text]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm,input[type=password]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm,input[type=email]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm{border-color:var(--color-error)}input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus{border-color:var(--color-primary-element) !important;border-radius:var(--border-radius) !important}input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled{border-color:var(--color-background-darker) !important}input[type=text]:active+.icon-confirm,input[type=text]:hover+.icon-confirm,input[type=text]:focus+.icon-confirm,input[type=password]:active+.icon-confirm,input[type=password]:hover+.icon-confirm,input[type=password]:focus+.icon-confirm,input[type=email]:active+.icon-confirm,input[type=email]:hover+.icon-confirm,input[type=email]:focus+.icon-confirm{border-color:var(--color-primary-element) !important;border-inline-start-color:rgba(0,0,0,0) !important;z-index:2}button img,.button img{cursor:pointer}select,.button.multiselect{font-weight:normal}input[type=checkbox].radio,input[type=checkbox].checkbox,input[type=radio].radio,input[type=radio].checkbox{position:absolute;inset-inline-start:-10000px;top:auto;width:1px;height:1px;overflow:hidden}input[type=checkbox].radio+label,input[type=checkbox].checkbox+label,input[type=radio].radio+label,input[type=radio].checkbox+label{user-select:none}input[type=checkbox].radio:disabled+label,input[type=checkbox].radio:disabled+label:before,input[type=checkbox].checkbox:disabled+label,input[type=checkbox].checkbox:disabled+label:before,input[type=radio].radio:disabled+label,input[type=radio].radio:disabled+label:before,input[type=radio].checkbox:disabled+label,input[type=radio].checkbox:disabled+label:before{cursor:default}input[type=checkbox].radio+label:before,input[type=checkbox].checkbox+label:before,input[type=radio].radio+label:before,input[type=radio].checkbox+label:before{content:"";display:inline-block;height:14px;width:14px;vertical-align:middle;border-radius:50%;margin:0 3px;margin-inline:3px 6px;border:1px solid var(--color-text-maxcontrast)}input[type=checkbox].radio:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].radio:focus+label:before,input[type=checkbox].checkbox:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].checkbox:focus+label:before,input[type=radio].radio:not(:disabled):not(:checked)+label:hover:before,input[type=radio].radio:focus+label:before,input[type=radio].checkbox:not(:disabled):not(:checked)+label:hover:before,input[type=radio].checkbox:focus+label:before{border-color:var(--color-primary-element)}input[type=checkbox].radio:focus-visible+label,input[type=checkbox].checkbox:focus-visible+label,input[type=radio].radio:focus-visible+label,input[type=radio].checkbox:focus-visible+label{outline-style:solid;outline-color:var(--color-main-text);outline-width:1px;outline-offset:2px}input[type=checkbox].radio:checked+label:before,input[type=checkbox].radio.checkbox:indeterminate+label:before,input[type=checkbox].checkbox:checked+label:before,input[type=checkbox].checkbox.checkbox:indeterminate+label:before,input[type=radio].radio:checked+label:before,input[type=radio].radio.checkbox:indeterminate+label:before,input[type=radio].checkbox:checked+label:before,input[type=radio].checkbox.checkbox:indeterminate+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);background-color:var(--color-primary-element);border-color:var(--color-primary-element)}input[type=checkbox].radio:disabled+label:before,input[type=checkbox].checkbox:disabled+label:before,input[type=radio].radio:disabled+label:before,input[type=radio].checkbox:disabled+label:before{border:1px solid var(--color-text-maxcontrast);background-color:var(--color-text-maxcontrast) !important}input[type=checkbox].radio:checked:disabled+label:before,input[type=checkbox].checkbox:checked:disabled+label:before,input[type=radio].radio:checked:disabled+label:before,input[type=radio].checkbox:checked:disabled+label:before{background-color:var(--color-text-maxcontrast)}input[type=checkbox].radio+label~em,input[type=checkbox].checkbox+label~em,input[type=radio].radio+label~em,input[type=radio].checkbox+label~em{display:inline-block;margin-inline-start:25px}input[type=checkbox].radio+label~em:last-of-type,input[type=checkbox].checkbox+label~em:last-of-type,input[type=radio].radio+label~em:last-of-type,input[type=radio].checkbox+label~em:last-of-type{margin-bottom:14px}input[type=checkbox].checkbox+label:before,input[type=radio].checkbox+label:before{border-radius:1px;height:14px;width:14px;box-shadow:none !important;background-position:center}input[type=checkbox].checkbox:checked+label:before,input[type=radio].checkbox:checked+label:before{background-image:url("../img/actions/checkbox-mark.svg")}input[type=checkbox].checkbox:indeterminate+label:before,input[type=radio].checkbox:indeterminate+label:before{background-image:url("../img/actions/checkbox-mixed.svg")}input[type=checkbox].radio--white+label:before,input[type=checkbox].radio--white:focus+label:before,input[type=checkbox].checkbox--white+label:before,input[type=checkbox].checkbox--white:focus+label:before,input[type=radio].radio--white+label:before,input[type=radio].radio--white:focus+label:before,input[type=radio].checkbox--white+label:before,input[type=radio].checkbox--white:focus+label:before{border-color:hsl(0,0%,73%)}input[type=checkbox].radio--white:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].checkbox--white:not(:disabled):not(:checked)+label:hover:before,input[type=radio].radio--white:not(:disabled):not(:checked)+label:hover:before,input[type=radio].checkbox--white:not(:disabled):not(:checked)+label:hover:before{border-color:#fff}input[type=checkbox].radio--white:checked+label:before,input[type=checkbox].checkbox--white:checked+label:before,input[type=radio].radio--white:checked+label:before,input[type=radio].checkbox--white:checked+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);background-color:hsl(0,0%,86%);border-color:hsl(0,0%,86%)}input[type=checkbox].radio--white:disabled+label:before,input[type=checkbox].checkbox--white:disabled+label:before,input[type=radio].radio--white:disabled+label:before,input[type=radio].checkbox--white:disabled+label:before{background-color:hsl(0,0%,73%) !important;border-color:hsla(0,0%,100%,.4) !important}input[type=checkbox].radio--white:checked:disabled+label:before,input[type=checkbox].checkbox--white:checked:disabled+label:before,input[type=radio].radio--white:checked:disabled+label:before,input[type=radio].checkbox--white:checked:disabled+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);border-color:hsla(0,0%,100%,.4) !important;background-color:hsl(0,0%,73%)}input[type=checkbox].checkbox--white:checked+label:before,input[type=checkbox].checkbox--white:indeterminate+label:before,input[type=radio].checkbox--white:checked+label:before,input[type=radio].checkbox--white:indeterminate+label:before{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;background-image:url("../img/actions/checkbox-mark-white.svg")}input[type=checkbox].checkbox--white:indeterminate+label:before,input[type=radio].checkbox--white:indeterminate+label:before{background-image:url("../img/actions/checkbox-mixed-white.svg")}input[type=checkbox].checkbox--white:disabled+label:before,input[type=radio].checkbox--white:disabled+label:before{opacity:.7}div.select2-drop{margin-top:-2px;background-color:var(--color-main-background)}div.select2-drop.select2-drop-active{border-color:var(--color-border-dark)}div.select2-drop .avatar{display:inline-block;margin-inline-end:8px;vertical-align:middle}div.select2-drop .avatar img{cursor:pointer}div.select2-drop .select2-search input{min-height:auto;background:var(--icon-search-dark) no-repeat !important;background-origin:content-box !important}div.select2-drop .select2-results{max-height:250px;margin:0;padding:0}div.select2-drop .select2-results .select2-result-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.select2-drop .select2-results .select2-result-label span{cursor:pointer}div.select2-drop .select2-results .select2-result-label span em{cursor:inherit;background:unset}div.select2-drop .select2-results .select2-result,div.select2-drop .select2-results .select2-no-results,div.select2-drop .select2-results .select2-searching{position:relative;display:list-item;padding:12px;background-color:rgba(0,0,0,0);cursor:pointer;color:var(--color-text-maxcontrast)}div.select2-drop .select2-results .select2-result.select2-selected{background-color:var(--color-background-dark)}div.select2-drop .select2-results .select2-highlighted{background-color:var(--color-background-dark);color:var(--color-main-text)}body[dir=ltr] div.select2-drop .select2-search input{background-position:right center !important}body[dir=rtl] div.select2-drop .select2-search input{background-position:left center !important}.select2-chosen .avatar,.select2-chosen .avatar img,#select2-drop .avatar,#select2-drop .avatar img{cursor:pointer}div.select2-container-multi .select2-choices,div.select2-container-multi.select2-container-active .select2-choices{box-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:var(--color-main-background);color:var(--color-text-maxcontrast) !important;box-sizing:content-box;border-radius:var(--border-radius-large);border:2px solid var(--color-border-dark);margin:0;padding:6px;min-height:44px}div.select2-container-multi .select2-choices:focus-within,div.select2-container-multi.select2-container-active .select2-choices:focus-within{border-color:var(--color-primary-element)}div.select2-container-multi .select2-choices .select2-search-choice,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice{line-height:20px;padding-inline-start:5px}div.select2-container-multi .select2-choices .select2-search-choice.select2-search-choice-focus,div.select2-container-multi .select2-choices .select2-search-choice:hover,div.select2-container-multi .select2-choices .select2-search-choice:active,div.select2-container-multi .select2-choices .select2-search-choice,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice.select2-search-choice-focus,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice:hover,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice:active,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice{background-image:none;background-color:var(--color-main-background);color:var(--color-text-maxcontrast);border:1px solid var(--color-border-dark)}div.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice .select2-search-choice-close{display:none}div.select2-container-multi .select2-choices .select2-search-field input,div.select2-container-multi.select2-container-active .select2-choices .select2-search-field input{line-height:20px;min-height:28px;max-height:28px;color:var(--color-main-text)}div.select2-container-multi .select2-choices .select2-search-field input.select2-active,div.select2-container-multi.select2-container-active .select2-choices .select2-search-field input.select2-active{background:none !important}div.select2-container{margin:3px;margin-inline-start:0}div.select2-container.select2-container-multi .select2-choices{display:flex;flex-wrap:wrap}div.select2-container.select2-container-multi .select2-choices li{float:none}div.select2-container a.select2-choice{box-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:var(--color-main-background);color:var(--color-text-maxcontrast) !important;box-sizing:content-box;border-radius:var(--border-radius-large);border:2px solid var(--color-border-dark);margin:0;padding:6px 12px;min-height:44px}div.select2-container a.select2-choice:focus-within{border-color:var(--color-primary-element)}div.select2-container a.select2-choice .select2-search-choice{line-height:20px;padding-inline-start:5px;background-image:none;background-color:var(--color-background-dark);border-color:var(--color-background-dark)}div.select2-container a.select2-choice .select2-search-choice .select2-search-choice-close{display:none}div.select2-container a.select2-choice .select2-search-choice.select2-search-choice-focus,div.select2-container a.select2-choice .select2-search-choice:hover{background-color:var(--color-border);border-color:var(--color-border)}div.select2-container a.select2-choice .select2-arrow{background:none;border-radius:0;border:none}div.select2-container a.select2-choice .select2-arrow b{background:var(--icon-triangle-s-dark) no-repeat center !important;opacity:.5}div.select2-container a.select2-choice:hover .select2-arrow b,div.select2-container a.select2-choice:focus .select2-arrow b,div.select2-container a.select2-choice:active .select2-arrow b{opacity:.7}div.select2-container a.select2-choice .select2-search-field input{line-height:20px}.v-select{margin:3px;margin-inline-start:0;display:inline-block}.v-select .dropdown-toggle{display:flex !important;flex-wrap:wrap}.v-select .dropdown-toggle .selected-tag{line-height:20px;padding-inline-start:5px;background-image:none;background-color:var(--color-main-background);color:var(--color-text-maxcontrast);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center}.v-select .dropdown-toggle .selected-tag .close{margin-inline-start:3px}.v-select .dropdown-menu{padding:0}.v-select .dropdown-menu li{padding:5px;position:relative;display:list-item;background-color:rgba(0,0,0,0);cursor:pointer;color:var(--color-text-maxcontrast)}.v-select .dropdown-menu li a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:25px;padding-block:3px 4px;padding-inline:2px 7px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:rgba(0,0,0,0) !important;color:inherit !important}.v-select .dropdown-menu li a::before{content:" ";background-image:var(--icon-checkmark-dark);background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-inline-end:5px;visibility:hidden}.v-select .dropdown-menu li.highlight{color:var(--color-main-text)}.v-select .dropdown-menu li.active>a{background-color:var(--color-background-dark);color:var(--color-main-text)}.v-select .dropdown-menu li.active>a::before{visibility:visible}progress:not(.vue){display:block;width:100%;padding:0;border:0 none;background-color:var(--color-background-dark);border-radius:var(--border-radius);flex-basis:100%;height:5px;overflow:hidden}progress:not(.vue).warn::-moz-progress-bar{background:var(--color-error)}progress:not(.vue).warn::-webkit-progress-value{background:var(--color-error)}progress:not(.vue)::-webkit-progress-bar{background:rgba(0,0,0,0)}progress:not(.vue)::-moz-progress-bar{border-radius:var(--border-radius);background:var(--color-primary-element);transition:250ms all ease-in-out}progress:not(.vue)::-webkit-progress-value{border-radius:var(--border-radius);background:var(--color-primary-element);transition:250ms all ease-in-out}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.shake{animation-name:shake;animation-duration:.7s;animation-timing-function:ease-out}label.infield{position:absolute;inset-inline-start:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}::placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}::-ms-input-placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}::-webkit-input-placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */#skip-actions{position:absolute;overflow:hidden;z-index:9999;top:-999px;inset-inline-start:3px;padding:11px;display:flex;flex-wrap:wrap;gap:11px}#skip-actions:focus-within{top:var(--header-height)}#header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#header:not(.header-guest){display:inline-flex;position:absolute;top:0;width:100%;z-index:2000;height:var(--header-height);box-sizing:border-box;justify-content:space-between}#header #nextcloud{padding:5px 0;padding-inline-start:86px;position:relative;height:calc(100% - var(--default-grid-baseline));box-sizing:border-box;opacity:1;align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;margin:2px}#header #nextcloud:hover,#header #nextcloud:active{opacity:1}#header #nextcloud .logo{display:inline-flex;background-image:var(--image-logoheader, var(--image-logo, url("../img/logo/logo.svg")));background-repeat:no-repeat;background-size:contain;background-position:center;width:62px;position:absolute;inset-inline-start:12px;top:1px;bottom:1px;filter:var(--image-logoheader-custom, var(--background-image-invert-if-bright))}#header #nextcloud:focus-visible,#header .app-menu-entry a:focus-visible,#header .header-menu button:first-of-type:focus-visible{outline:none}#header #nextcloud:focus-visible::after,#header .app-menu-entry a:focus-visible::after,#header .header-menu button:first-of-type:focus-visible::after{content:" ";position:absolute;inset-block-end:2px;transform:translateX(-50%);width:12px;height:2px;border-radius:3px;background-color:var(--color-background-plain-text);inset-inline-start:50%;opacity:1}#header .header-start{display:inline-flex;align-items:center;flex:1 0;white-space:nowrap;min-width:0}#header .header-end{display:inline-flex;align-items:center;justify-content:flex-end;flex-shrink:1;margin-inline-end:calc(3*var(--default-grid-baseline))}#header .header-end>div,#header .header-end>form{height:100%;position:relative}#header .header-end>div>.menutoggle,#header .header-end>form>.menutoggle{display:flex;justify-content:center;align-items:center;width:var(--header-height);height:var(--header-menu-item-height);cursor:pointer;opacity:.85;padding:0;margin:2px 0}#header .header-end>div>.menutoggle:focus,#header .header-end>form>.menutoggle:focus{opacity:1}#header .header-end>div>.menutoggle:focus-visible,#header .header-end>form>.menutoggle:focus-visible{outline:none}#header .header-end>div>.menu,#header .header-end>form>.menu{background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));border-radius:var(--border-radius-large);box-sizing:border-box;z-index:2000;position:absolute;max-width:350px;min-height:calc(var(--default-clickable-area)*1.5);max-height:calc(100vh - var(--header-height) - 2*var(--default-grid-baseline));inset-inline-end:8px;top:var(--header-height);margin:0;overflow-y:auto}#header .header-end>div>.menu:not(.popovermenu),#header .header-end>form>.menu:not(.popovermenu){display:none}#header .header-end>div>.menu:after,#header .header-end>form>.menu:after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:100%;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:10px}#header .header-end>div>.menu>div,#header .header-end>div>.menu>ul,#header .header-end>form>.menu>div,#header .header-end>form>.menu>ul{-webkit-overflow-scrolling:touch;min-height:calc(var(--default-clickable-area)*1.5);max-height:calc(100vh - var(--header-height) - 2*var(--default-grid-baseline))}#header .header-end>div .emptycontent h2,#header .header-end>form .emptycontent h2{font-weight:normal;font-size:16px}#header .header-end>div .emptycontent [class^=icon-],#header .header-end>div .emptycontent [class*=icon-],#header .header-end>form .emptycontent [class^=icon-],#header .header-end>form .emptycontent [class*=icon-]{background-size:48px;height:48px;width:48px}#header .header-appname{color:var(--color-background-plain-text);font-size:16px;font-weight:bold;margin:0;padding:0;padding-inline-end:5px;overflow:hidden;text-overflow:ellipsis;flex:1 1 100%}#header .header-appname .header-info{display:flex;flex-direction:column;overflow:hidden}#header .header-appname .header-info .header-title{overflow:hidden;text-overflow:ellipsis}#header .header-appname .header-info .header-shared-by{color:var(--color-background-plain-text);position:relative;font-weight:300;font-size:var(--font-size-small);line-height:var(--font-size-small);overflow:hidden;text-overflow:ellipsis}@media(display-mode: standalone)or (display-mode: minimal-ui){#header:not(.header-guest){display:none !important}#content,#content-vue{margin-top:var(--body-container-margin)}:root{--body-height: calc(100% - env(safe-area-inset-bottom) - var(--body-container-margin) * 2) !important}}/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */[class^=icon-],[class*=" icon-"]{background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px}.icon-breadcrumb{background-image:url("../img/breadcrumb.svg?v=1")}.loading,.loading-small,.icon-loading,.icon-loading-dark,.icon-loading-small,.icon-loading-small-dark{position:relative}.loading:after,.loading-small:after,.icon-loading:after,.icon-loading-dark:after,.icon-loading-small:after,.icon-loading-small-dark:after{z-index:2;content:"";height:28px;width:28px;margin:-16px 0 0 -16px;position:absolute;top:50%;inset-inline-start:50%;border-radius:100%;-webkit-animation:rotate .8s infinite linear;animation:rotate .8s infinite linear;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;border:2px solid var(--color-loading-light);border-top-color:var(--color-loading-dark);filter:var(--background-invert-if-dark)}.primary .loading:after,.primary+.loading:after,.primary .loading-small:after,.primary+.loading-small:after,.primary .icon-loading:after,.primary+.icon-loading:after,.primary .icon-loading-dark:after,.primary+.icon-loading-dark:after,.primary .icon-loading-small:after,.primary+.icon-loading-small:after,.primary .icon-loading-small-dark:after,.primary+.icon-loading-small-dark:after{filter:var(--primary-invert-if-bright)}.icon-loading-dark:after,.icon-loading-small-dark:after{border:2px solid var(--color-loading-dark);border-top-color:var(--color-loading-light)}.icon-loading-small:after,.icon-loading-small-dark:after{height:12px;width:12px;margin:-8px 0 0 -8px}audio.icon-loading,canvas.icon-loading,embed.icon-loading,iframe.icon-loading,img.icon-loading,input.icon-loading,object.icon-loading,video.icon-loading{background-image:url("../img/loading.gif")}audio.icon-loading-dark,canvas.icon-loading-dark,embed.icon-loading-dark,iframe.icon-loading-dark,img.icon-loading-dark,input.icon-loading-dark,object.icon-loading-dark,video.icon-loading-dark{background-image:url("../img/loading-dark.gif")}audio.icon-loading-small,canvas.icon-loading-small,embed.icon-loading-small,iframe.icon-loading-small,img.icon-loading-small,input.icon-loading-small,object.icon-loading-small,video.icon-loading-small{background-image:url("../img/loading-small.gif")}audio.icon-loading-small-dark,canvas.icon-loading-small-dark,embed.icon-loading-small-dark,iframe.icon-loading-small-dark,img.icon-loading-small-dark,input.icon-loading-small-dark,object.icon-loading-small-dark,video.icon-loading-small-dark{background-image:url("../img/loading-small-dark.gif")}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.icon-32{background-size:32px !important}.icon-white.icon-shadow,.icon-audio-white,.icon-audio-off-white,.icon-fullscreen-white,.icon-screen-white,.icon-screen-off-white,.icon-video-white,.icon-video-off-white{filter:drop-shadow(1px 1px 4px var(--color-box-shadow))}/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */@media screen and (max-width: 1024px){:root{--body-container-margin: 0px !important;--body-container-radius: 0px !important}}html{width:100%;height:100%;position:absolute;background-color:var(--color-background-plain, var(--color-main-background))}body{background-color:var(--color-background-plain, var(--color-main-background));background-image:var(--image-background);background-size:cover;background-position:center;position:fixed;width:100%;height:calc(100vh - env(safe-area-inset-bottom))}h2,h3,h4,h5,h6{font-weight:600;line-height:1.5;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}h2{font-size:1.8em}h3{font-size:1.6em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}em{font-style:normal;color:var(--color-text-maxcontrast)}dl{padding:12px 0}dt,dd{display:inline-block;padding:12px;padding-inline-start:0}dt{width:130px;white-space:nowrap;text-align:end}kbd{padding:4px 10px;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:var(--border-radius);display:inline-block;white-space:nowrap}#content[class*=app-] *{box-sizing:border-box}#app-navigation:not(.vue){--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));width:300px;z-index:500;overflow-y:auto;overflow-x:hidden;background-color:var(--color-main-background-blur);backdrop-filter:var(--filter-background-blur);-webkit-backdrop-filter:var(--filter-background-blur);-webkit-user-select:none;position:sticky;height:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0}#app-navigation:not(.vue) .app-navigation-caption{font-weight:bold;line-height:var(--default-clickable-area);padding:10px var(--default-clickable-area) 0 var(--default-clickable-area);white-space:nowrap;text-overflow:ellipsis;box-shadow:none !important;user-select:none;pointer-events:none;margin-inline-start:10px}.app-navigation-personal .app-navigation-new,.app-navigation-administration .app-navigation-new{display:block;padding:calc(var(--default-grid-baseline)*2)}.app-navigation-personal .app-navigation-new button,.app-navigation-administration .app-navigation-new button{display:inline-block;width:100%;padding:10px;padding-inline-start:34px;text-align:start;margin:0}.app-navigation-personal li,.app-navigation-administration li{position:relative}.app-navigation-personal>ul,.app-navigation-administration>ul{position:relative;height:100%;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;padding:calc(var(--default-grid-baseline)*2);padding-bottom:0}.app-navigation-personal>ul:last-child,.app-navigation-administration>ul:last-child{padding-bottom:calc(var(--default-grid-baseline)*2)}.app-navigation-personal>ul>li,.app-navigation-administration>ul>li{display:inline-flex;flex-wrap:wrap;order:1;flex-shrink:0;margin:0;margin-bottom:3px;width:100%;border-radius:var(--border-radius-element)}.app-navigation-personal>ul>li.pinned,.app-navigation-administration>ul>li.pinned{order:2}.app-navigation-personal>ul>li.pinned.first-pinned,.app-navigation-administration>ul>li.pinned.first-pinned{margin-top:auto !important}.app-navigation-personal>ul>li>.app-navigation-entry-deleted,.app-navigation-administration>ul>li>.app-navigation-entry-deleted{padding-inline-start:var(--default-clickable-area) !important}.app-navigation-personal>ul>li>.app-navigation-entry-edit,.app-navigation-administration>ul>li>.app-navigation-entry-edit{padding-inline-start:calc(var(--default-clickable-area) - 6px) !important}.app-navigation-personal>ul>li a:hover,.app-navigation-personal>ul>li a:hover>a,.app-navigation-personal>ul>li a:focus,.app-navigation-personal>ul>li a:focus>a,.app-navigation-administration>ul>li a:hover,.app-navigation-administration>ul>li a:hover>a,.app-navigation-administration>ul>li a:focus,.app-navigation-administration>ul>li a:focus>a{background-color:var(--color-background-hover)}.app-navigation-personal>ul>li a:focus-visible,.app-navigation-administration>ul>li a:focus-visible{box-shadow:0 0 0 4px var(--color-main-background);outline:2px solid var(--color-main-text)}.app-navigation-personal>ul>li.active,.app-navigation-personal>ul>li.active>a,.app-navigation-personal>ul>li a:active,.app-navigation-personal>ul>li a:active>a,.app-navigation-personal>ul>li a.selected,.app-navigation-personal>ul>li a.selected>a,.app-navigation-personal>ul>li a.active,.app-navigation-personal>ul>li a.active>a,.app-navigation-administration>ul>li.active,.app-navigation-administration>ul>li.active>a,.app-navigation-administration>ul>li a:active,.app-navigation-administration>ul>li a:active>a,.app-navigation-administration>ul>li a.selected,.app-navigation-administration>ul>li a.selected>a,.app-navigation-administration>ul>li a.active,.app-navigation-administration>ul>li a.active>a{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.app-navigation-personal>ul>li.active:first-child>img,.app-navigation-personal>ul>li.active>a:first-child>img,.app-navigation-personal>ul>li a:active:first-child>img,.app-navigation-personal>ul>li a:active>a:first-child>img,.app-navigation-personal>ul>li a.selected:first-child>img,.app-navigation-personal>ul>li a.selected>a:first-child>img,.app-navigation-personal>ul>li a.active:first-child>img,.app-navigation-personal>ul>li a.active>a:first-child>img,.app-navigation-administration>ul>li.active:first-child>img,.app-navigation-administration>ul>li.active>a:first-child>img,.app-navigation-administration>ul>li a:active:first-child>img,.app-navigation-administration>ul>li a:active>a:first-child>img,.app-navigation-administration>ul>li a.selected:first-child>img,.app-navigation-administration>ul>li a.selected>a:first-child>img,.app-navigation-administration>ul>li a.active:first-child>img,.app-navigation-administration>ul>li a.active>a:first-child>img{filter:var(--primary-invert-if-dark)}.app-navigation-personal>ul>li.icon-loading-small:after,.app-navigation-administration>ul>li.icon-loading-small:after{inset-inline-start:22px;top:22px}.app-navigation-personal>ul>li.deleted>ul,.app-navigation-personal>ul>li.collapsible:not(.open)>ul,.app-navigation-administration>ul>li.deleted>ul,.app-navigation-administration>ul>li.collapsible:not(.open)>ul{display:none}.app-navigation-personal>ul>li>ul,.app-navigation-administration>ul>li>ul{flex:0 1 auto;width:100%;position:relative}.app-navigation-personal>ul>li>ul>li,.app-navigation-administration>ul>li>ul>li{display:inline-flex;flex-wrap:wrap;padding-inline-start:var(--default-clickable-area);width:100%;margin-bottom:3px}.app-navigation-personal>ul>li>ul>li:hover,.app-navigation-personal>ul>li>ul>li:hover>a,.app-navigation-personal>ul>li>ul>li:focus,.app-navigation-personal>ul>li>ul>li:focus>a,.app-navigation-administration>ul>li>ul>li:hover,.app-navigation-administration>ul>li>ul>li:hover>a,.app-navigation-administration>ul>li>ul>li:focus,.app-navigation-administration>ul>li>ul>li:focus>a{border-radius:var(--border-radius-element);background-color:var(--color-background-hover)}.app-navigation-personal>ul>li>ul>li.active,.app-navigation-personal>ul>li>ul>li.active>a,.app-navigation-personal>ul>li>ul>li a.selected,.app-navigation-personal>ul>li>ul>li a.selected>a,.app-navigation-administration>ul>li>ul>li.active,.app-navigation-administration>ul>li>ul>li.active>a,.app-navigation-administration>ul>li>ul>li a.selected,.app-navigation-administration>ul>li>ul>li a.selected>a{border-radius:var(--border-radius-element);background-color:var(--color-primary-element-light)}.app-navigation-personal>ul>li>ul>li.active:first-child>img,.app-navigation-personal>ul>li>ul>li.active>a:first-child>img,.app-navigation-personal>ul>li>ul>li a.selected:first-child>img,.app-navigation-personal>ul>li>ul>li a.selected>a:first-child>img,.app-navigation-administration>ul>li>ul>li.active:first-child>img,.app-navigation-administration>ul>li>ul>li.active>a:first-child>img,.app-navigation-administration>ul>li>ul>li a.selected:first-child>img,.app-navigation-administration>ul>li>ul>li a.selected>a:first-child>img{filter:var(--primary-invert-if-dark)}.app-navigation-personal>ul>li>ul>li.icon-loading-small:after,.app-navigation-administration>ul>li>ul>li.icon-loading-small:after{inset-inline-start:calc(var(--default-clickable-area)/2)}.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-deleted,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-deleted{margin-inline-start:4px;padding-inline-start:84px}.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-edit,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-edit{margin-inline-start:4px;padding-inline-start:calc(2*var(--default-clickable-area) - 10px) !important}.app-navigation-personal>ul>li,.app-navigation-personal>ul>li>ul>li,.app-navigation-administration>ul>li,.app-navigation-administration>ul>li>ul>li{position:relative;box-sizing:border-box}.app-navigation-personal>ul>li.icon-loading-small>a,.app-navigation-personal>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-personal>ul>li>ul>li.icon-loading-small>a,.app-navigation-personal>ul>li>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-administration>ul>li.icon-loading-small>a,.app-navigation-administration>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>ul>li.icon-loading-small>a,.app-navigation-administration>ul>li>ul>li.icon-loading-small>.app-navigation-entry-bullet{background:rgba(0,0,0,0) !important}.app-navigation-personal>ul>li>a,.app-navigation-personal>ul>li>ul>li>a,.app-navigation-administration>ul>li>a,.app-navigation-administration>ul>li>ul>li>a{background-size:16px 16px;background-repeat:no-repeat;display:block;justify-content:space-between;line-height:var(--default-clickable-area);min-height:var(--default-clickable-area);padding-block:0;padding-inline:calc(2*var(--default-grid-baseline));overflow:hidden;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;border-radius:var(--border-radius-element);color:var(--color-main-text);flex:1 1 0px;z-index:100}.app-navigation-personal>ul>li>a.svg,.app-navigation-personal>ul>li>ul>li>a.svg,.app-navigation-administration>ul>li>a.svg,.app-navigation-administration>ul>li>ul>li>a.svg{padding-block:0;padding-inline:var(--default-clickable-area) 12px}.app-navigation-personal>ul>li>a.svg :focus-visible,.app-navigation-personal>ul>li>ul>li>a.svg :focus-visible,.app-navigation-administration>ul>li>a.svg :focus-visible,.app-navigation-administration>ul>li>ul>li>a.svg :focus-visible{padding-block:0;padding-inline:calc(var(--default-clickable-area) - 2px) 8px}.app-navigation-personal>ul>li>a:first-child img,.app-navigation-personal>ul>li>ul>li>a:first-child img,.app-navigation-administration>ul>li>a:first-child img,.app-navigation-administration>ul>li>ul>li>a:first-child img{margin-inline-end:calc(2*var(--default-grid-baseline)) !important;width:16px;height:16px;filter:var(--background-invert-if-dark)}.app-navigation-personal>ul>li>a>.app-navigation-entry-utils,.app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,.app-navigation-administration>ul>li>a>.app-navigation-entry-utils,.app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{display:inline-block}.app-navigation-personal>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter{padding-inline-end:0 !important}.app-navigation-personal>ul>li>.app-navigation-entry-bullet,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-bullet{position:absolute;display:block;margin:16px;width:12px;height:12px;border:none;border-radius:50%;cursor:pointer;transition:background 100ms ease-in-out}.app-navigation-personal>ul>li>.app-navigation-entry-bullet+a,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-bullet+a,.app-navigation-administration>ul>li>.app-navigation-entry-bullet+a,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-bullet+a{background:rgba(0,0,0,0) !important}.app-navigation-personal>ul>li>.app-navigation-entry-menu,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-menu,.app-navigation-administration>ul>li>.app-navigation-entry-menu,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-menu{top:var(--default-clickable-area)}.app-navigation-personal>ul>li.editing .app-navigation-entry-edit,.app-navigation-personal>ul>li>ul>li.editing .app-navigation-entry-edit,.app-navigation-administration>ul>li.editing .app-navigation-entry-edit,.app-navigation-administration>ul>li>ul>li.editing .app-navigation-entry-edit{opacity:1;z-index:250}.app-navigation-personal>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-personal>ul>li>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-administration>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-administration>ul>li>ul>li.deleted .app-navigation-entry-deleted{transform:translateX(0);z-index:250}.app-navigation-personal.hidden,.app-navigation-administration.hidden{display:none}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button{border:0;opacity:.5;background-color:rgba(0,0,0,0);background-repeat:no-repeat;background-position:center}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:hover,.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:focus,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:hover,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:focus,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus{background-color:rgba(0,0,0,0);opacity:1}.app-navigation-personal .collapsible .collapse,.app-navigation-administration .collapsible .collapse{opacity:0;position:absolute;width:var(--default-clickable-area);height:var(--default-clickable-area);margin:0;z-index:110;inset-inline-start:0}.app-navigation-personal .collapsible .collapse:focus-visible,.app-navigation-administration .collapsible .collapse:focus-visible{opacity:1;border-width:0;box-shadow:inset 0 0 0 2px var(--color-primary-element);background:none}.app-navigation-personal .collapsible:before,.app-navigation-administration .collapsible:before{position:absolute;height:var(--default-clickable-area);width:var(--default-clickable-area);margin:0;padding:0;background:none;background-image:var(--icon-triangle-s-dark);background-size:16px;background-repeat:no-repeat;background-position:center;border:none;outline:none !important;box-shadow:none;content:" ";opacity:0;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);z-index:105;border-radius:50%;transition:opacity 100ms ease-in-out}.app-navigation-personal .collapsible>a:first-child,.app-navigation-administration .collapsible>a:first-child{padding-inline-start:var(--default-clickable-area)}.app-navigation-personal .collapsible:hover:before,.app-navigation-personal .collapsible:focus:before,.app-navigation-administration .collapsible:hover:before,.app-navigation-administration .collapsible:focus:before{opacity:1}.app-navigation-personal .collapsible:hover>a,.app-navigation-personal .collapsible:focus>a,.app-navigation-administration .collapsible:hover>a,.app-navigation-administration .collapsible:focus>a{background-image:none}.app-navigation-personal .collapsible:hover>.app-navigation-entry-bullet,.app-navigation-personal .collapsible:focus>.app-navigation-entry-bullet,.app-navigation-administration .collapsible:hover>.app-navigation-entry-bullet,.app-navigation-administration .collapsible:focus>.app-navigation-entry-bullet{background:rgba(0,0,0,0) !important}.app-navigation-personal .collapsible.open:before,.app-navigation-administration .collapsible.open:before{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.app-navigation-personal .app-navigation-entry-utils,.app-navigation-administration .app-navigation-entry-utils{flex:0 1 auto}.app-navigation-personal .app-navigation-entry-utils ul,.app-navigation-administration .app-navigation-entry-utils ul{display:flex !important;align-items:center;justify-content:flex-end}.app-navigation-personal .app-navigation-entry-utils li,.app-navigation-administration .app-navigation-entry-utils li{width:var(--default-clickable-area) !important;height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-utils button,.app-navigation-administration .app-navigation-entry-utils button{height:100%;width:100%;margin:0;box-shadow:none}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button button:not([class^=icon-]):not([class*=" icon-"]),.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button button:not([class^=icon-]):not([class*=" icon-"]){background-image:var(--icon-more-dark)}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:hover button,.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:focus button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:hover button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:focus button{background-color:rgba(0,0,0,0);opacity:1}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter{overflow:hidden;text-align:end;font-size:9pt;line-height:var(--default-clickable-area);padding:0 12px}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted{padding:0;text-align:center}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted span,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted span{padding:2px 5px;border-radius:10px;background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.app-navigation-personal .app-navigation-entry-edit,.app-navigation-administration .app-navigation-entry-edit{padding-inline:5px;display:block;width:calc(100% - 1px);transition:opacity 250ms ease-in-out;opacity:0;position:absolute;background-color:var(--color-main-background);z-index:-1}.app-navigation-personal .app-navigation-entry-edit form,.app-navigation-personal .app-navigation-entry-edit div,.app-navigation-administration .app-navigation-entry-edit form,.app-navigation-administration .app-navigation-entry-edit div{display:inline-flex;width:100%}.app-navigation-personal .app-navigation-entry-edit input,.app-navigation-administration .app-navigation-entry-edit input{padding:5px;margin-inline-end:0;height:38px}.app-navigation-personal .app-navigation-entry-edit input:hover,.app-navigation-personal .app-navigation-entry-edit input:focus,.app-navigation-administration .app-navigation-entry-edit input:hover,.app-navigation-administration .app-navigation-entry-edit input:focus{z-index:1}.app-navigation-personal .app-navigation-entry-edit input[type=text],.app-navigation-administration .app-navigation-entry-edit input[type=text]{width:100%;min-width:0;border-end-end-radius:0;border-start-end-radius:0}.app-navigation-personal .app-navigation-entry-edit button,.app-navigation-personal .app-navigation-entry-edit input:not([type=text]),.app-navigation-administration .app-navigation-entry-edit button,.app-navigation-administration .app-navigation-entry-edit input:not([type=text]){width:36px;height:38px;flex:0 0 36px}.app-navigation-personal .app-navigation-entry-edit button:not(:last-child),.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):not(:last-child),.app-navigation-administration .app-navigation-entry-edit button:not(:last-child),.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):not(:last-child){border-radius:0 !important}.app-navigation-personal .app-navigation-entry-edit button:not(:first-child),.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):not(:first-child),.app-navigation-administration .app-navigation-entry-edit button:not(:first-child),.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):not(:first-child){margin-inline-start:-1px}.app-navigation-personal .app-navigation-entry-edit button:last-child,.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):last-child,.app-navigation-administration .app-navigation-entry-edit button:last-child,.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):last-child{border-end-end-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-start-radius:0;border-start-start-radius:0}.app-navigation-personal .app-navigation-entry-deleted,.app-navigation-administration .app-navigation-entry-deleted{display:inline-flex;padding-inline-start:var(--default-clickable-area);transform:translateX(300px)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-description,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-description{position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1 1 0px;line-height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button{margin:0;height:var(--default-clickable-area);width:var(--default-clickable-area);line-height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus{opacity:1}.app-navigation-personal .app-navigation-entry-edit,.app-navigation-personal .app-navigation-entry-deleted,.app-navigation-administration .app-navigation-entry-edit,.app-navigation-administration .app-navigation-entry-deleted{width:calc(100% - 1px);transition:transform 250ms ease-in-out,opacity 250ms ease-in-out,z-index 250ms ease-in-out;position:absolute;inset-inline-start:0;background-color:var(--color-main-background);box-sizing:border-box}.app-navigation-personal .drag-and-drop,.app-navigation-administration .drag-and-drop{-webkit-transition:padding-bottom 500ms ease 0s;transition:padding-bottom 500ms ease 0s;padding-bottom:40px}.app-navigation-personal .error,.app-navigation-administration .error{color:var(--color-error)}.app-navigation-personal .app-navigation-entry-utils ul,.app-navigation-personal .app-navigation-entry-menu ul,.app-navigation-administration .app-navigation-entry-utils ul,.app-navigation-administration .app-navigation-entry-menu ul{list-style-type:none}body[dir=ltr] .app-navigation-personal .app-navigation-new button,body[dir=ltr] .app-navigation-administration .app-navigation-new button{background-position:left 10px center}body[dir=ltr] .app-navigation-personal>ul>li>ul>li>a,body[dir=ltr] .app-navigation-administration>ul>li>ul>li>a{background-position:left 14px center}body[dir=ltr] .app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,body[dir=ltr] .app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{float:right}body[dir=rtl] .app-navigation-personal .app-navigation-new button,body[dir=rtl] .app-navigation-administration .app-navigation-new button{background-position:right 10px center}body[dir=rtl] .app-navigation-personal>ul>li>ul>li>a,body[dir=rtl] .app-navigation-administration>ul>li>ul>li>a{background-position:right 14px center}body[dir=rtl] .app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,body[dir=rtl] .app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{float:left}#content{box-sizing:border-box;position:static;margin:var(--body-container-margin);margin-top:var(--header-height);padding:0;display:flex;width:calc(100% - var(--body-container-margin)*2);height:var(--body-height);border-radius:var(--body-container-radius);overflow:clip}#content:not(.with-sidebar--full){position:fixed}@media only screen and (max-width: 1024px){#content{border-start-start-radius:var(--border-radius-large);border-start-end-radius:var(--border-radius-large)}#app-navigation{border-start-start-radius:var(--border-radius-large)}#app-sidebar{border-start-end-radius:var(--border-radius-large)}}#app-content{z-index:1000;background-color:var(--color-main-background);flex-basis:100vw;overflow:auto;position:initial;height:100%}#app-content>.section:first-child{border-top:none}#app-content #app-content-wrapper{display:flex;position:relative;align-items:stretch;min-height:100%}#app-content #app-content-wrapper .app-content-details{flex:1 1 524px}#app-content #app-content-wrapper .app-content-details #app-navigation-toggle-back{display:none}#app-content::-webkit-scrollbar-button{height:var(--body-container-radius)}#app-sidebar{width:27vw;min-width:300px;max-width:500px;display:block;position:-webkit-sticky;position:sticky;top:50px;inset-inline-end:0;overflow-y:auto;overflow-x:hidden;z-index:1500;opacity:.7px;height:calc(100vh - 50px);background:var(--color-main-background);border-inline-start:1px solid var(--color-border);flex-shrink:0}#app-sidebar.disappear{display:none}#app-settings{margin-top:auto}#app-settings.open #app-settings-content,#app-settings.opened #app-settings-content{display:block}#app-settings-content{display:none;padding:calc(var(--default-grid-baseline)*2);padding-top:0;padding-inline-start:calc(var(--default-grid-baseline)*4);max-height:300px;overflow-y:auto;box-sizing:border-box}#app-settings-content input[type=text]{width:93%}#app-settings-content .info-text{padding-block:5px 7px;padding-inline:22px 0;color:var(--color-text-lighter)}#app-settings-content input[type=checkbox].radio+label,#app-settings-content input[type=checkbox].checkbox+label,#app-settings-content input[type=radio].radio+label,#app-settings-content input[type=radio].checkbox+label{display:inline-block;width:100%;padding:5px 0}#app-settings-header{box-sizing:border-box;background-color:rgba(0,0,0,0);overflow:hidden;border-radius:calc(var(--default-clickable-area)/2);padding:calc(var(--default-grid-baseline)*2);padding-top:0}#app-settings-header .settings-button{display:flex;align-items:center;height:var(--default-clickable-area);width:100%;padding:0;margin:0;background-color:rgba(0,0,0,0);box-shadow:none;border:0;border-radius:calc(var(--default-clickable-area)/2);text-align:start;font-weight:normal;font-size:100%;opacity:.8;color:var(--color-main-text)}#app-settings-header .settings-button.opened{border-top:solid 1px var(--color-border);background-color:var(--color-main-background);margin-top:8px}#app-settings-header .settings-button:hover,#app-settings-header .settings-button:focus{background-color:var(--color-background-hover)}#app-settings-header .settings-button::before{background-image:var(--icon-settings-dark);background-repeat:no-repeat;content:"";width:var(--default-clickable-area);height:var(--default-clickable-area);top:0;inset-inline-start:0;display:block}#app-settings-header .settings-button:focus-visible{box-shadow:0 0 0 2px inset var(--color-primary-element) !important}body[dir=ltr] #app-settings-header .settings-button::before{background-position:left 14px center}body[dir=ltr] #app-settings-header .settings-button:focus-visible{background-position:left 12px center}body[dir=rtl] #app-settings-header .settings-button::before{background-position:right 14px center}body[dir=rtl] #app-settings-header .settings-button:focus-visible{background-position:right 12px center}.section{display:block;padding:30px;margin-bottom:24px}.section.hidden{display:none !important}.section input[type=checkbox],.section input[type=radio]{vertical-align:-2px;margin-inline-end:4px}.sub-section{position:relative;margin-top:10px;margin-inline-start:27px;margin-bottom:10px}.appear{opacity:1;-webkit-transition:opacity 500ms ease 0s;-moz-transition:opacity 500ms ease 0s;-ms-transition:opacity 500ms ease 0s;-o-transition:opacity 500ms ease 0s;transition:opacity 500ms ease 0s}.appear.transparent{opacity:0}.tabHeaders{display:flex;margin-bottom:16px}.tabHeaders .tabHeader{display:flex;flex-direction:column;flex-grow:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--color-text-lighter);margin-bottom:1px;padding:5px}.tabHeaders .tabHeader.hidden{display:none}.tabHeaders .tabHeader:first-child{padding-inline-start:15px}.tabHeaders .tabHeader:last-child{padding-inline-end:15px}.tabHeaders .tabHeader .icon{display:inline-block;width:100%;height:16px;background-size:16px;vertical-align:middle;margin-top:-2px;margin-inline-end:3px;opacity:.7;cursor:pointer}.tabHeaders .tabHeader a{color:var(--color-text-lighter);margin-bottom:1px;overflow:hidden;text-overflow:ellipsis}.tabHeaders .tabHeader.selected{font-weight:bold}.tabHeaders .tabHeader.selected,.tabHeaders .tabHeader:hover,.tabHeaders .tabHeader:focus{margin-bottom:0px;color:var(--color-main-text);border-bottom:1px solid var(--color-text-lighter)}.tabsContainer .tab{padding:0 15px 15px}body[dir=ltr] .tabsContainer{clear:left}body[dir=rtl] .tabsContainer{clear:right}.v-popper__inner div.open>ul>li>a>span.action-link__icon,.v-popper__inner div.open>ul>li>a>span.action-router__icon,.v-popper__inner div.open>ul>li>a>img{filter:var(--background-invert-if-dark)}.v-popper__inner div.open>ul>li>a>span.action-link__icon[src^=data],.v-popper__inner div.open>ul>li>a>span.action-router__icon[src^=data],.v-popper__inner div.open>ul>li>a>img[src^=data]{filter:none}.bubble,.app-navigation-entry-menu,.popovermenu{position:absolute;background-color:var(--color-main-background);color:var(--color-main-text);border-radius:var(--border-radius-large);padding:3px;z-index:110;margin:5px;margin-top:-5px;inset-inline-end:0;filter:drop-shadow(0 1px 3px var(--color-box-shadow));display:none;will-change:filter}.bubble:after,.app-navigation-entry-menu:after,.popovermenu:after{bottom:100%;inset-inline-end:7px;border:solid rgba(0,0,0,0);content:" ";height:0;width:0;position:absolute;pointer-events:none;border-bottom-color:var(--color-main-background);border-width:9px}.bubble.menu-center,.app-navigation-entry-menu.menu-center,.popovermenu.menu-center{transform:translateX(50%);inset-inline-end:50%;margin-inline-end:0}.bubble.menu-center:after,.app-navigation-entry-menu.menu-center:after,.popovermenu.menu-center:after{inset-inline-end:50%;transform:translateX(50%)}.bubble.menu-left,.app-navigation-entry-menu.menu-left,.popovermenu.menu-left{inset-inline:0 auto;margin-inline-end:0}.bubble.menu-left:after,.app-navigation-entry-menu.menu-left:after,.popovermenu.menu-left:after{inset-inline:6px auto}.bubble.open,.app-navigation-entry-menu.open,.popovermenu.open{display:block}.bubble.contactsmenu-popover,.app-navigation-entry-menu.contactsmenu-popover,.popovermenu.contactsmenu-popover{margin:0}.bubble ul,.app-navigation-entry-menu ul,.popovermenu ul{display:flex !important;flex-direction:column}.bubble li,.app-navigation-entry-menu li,.popovermenu li{display:flex;flex:0 0 auto}.bubble li.hidden,.app-navigation-entry-menu li.hidden,.popovermenu li.hidden{display:none}.bubble li>button,.bubble li>a,.bubble li>.menuitem,.app-navigation-entry-menu li>button,.app-navigation-entry-menu li>a,.app-navigation-entry-menu li>.menuitem,.popovermenu li>button,.popovermenu li>a,.popovermenu li>.menuitem{cursor:pointer;line-height:34px;border:0;border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex;align-items:flex-start;height:auto;margin:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap}.bubble li>button span[class^=icon-],.bubble li>button span[class*=" icon-"],.bubble li>button[class^=icon-],.bubble li>button[class*=" icon-"],.bubble li>a span[class^=icon-],.bubble li>a span[class*=" icon-"],.bubble li>a[class^=icon-],.bubble li>a[class*=" icon-"],.bubble li>.menuitem span[class^=icon-],.bubble li>.menuitem span[class*=" icon-"],.bubble li>.menuitem[class^=icon-],.bubble li>.menuitem[class*=" icon-"],.app-navigation-entry-menu li>button span[class^=icon-],.app-navigation-entry-menu li>button span[class*=" icon-"],.app-navigation-entry-menu li>button[class^=icon-],.app-navigation-entry-menu li>button[class*=" icon-"],.app-navigation-entry-menu li>a span[class^=icon-],.app-navigation-entry-menu li>a span[class*=" icon-"],.app-navigation-entry-menu li>a[class^=icon-],.app-navigation-entry-menu li>a[class*=" icon-"],.app-navigation-entry-menu li>.menuitem span[class^=icon-],.app-navigation-entry-menu li>.menuitem span[class*=" icon-"],.app-navigation-entry-menu li>.menuitem[class^=icon-],.app-navigation-entry-menu li>.menuitem[class*=" icon-"],.popovermenu li>button span[class^=icon-],.popovermenu li>button span[class*=" icon-"],.popovermenu li>button[class^=icon-],.popovermenu li>button[class*=" icon-"],.popovermenu li>a span[class^=icon-],.popovermenu li>a span[class*=" icon-"],.popovermenu li>a[class^=icon-],.popovermenu li>a[class*=" icon-"],.popovermenu li>.menuitem span[class^=icon-],.popovermenu li>.menuitem span[class*=" icon-"],.popovermenu li>.menuitem[class^=icon-],.popovermenu li>.menuitem[class*=" icon-"]{min-width:0;min-height:0;background-position:9px center;background-size:16px}.bubble li>button span[class^=icon-],.bubble li>button span[class*=" icon-"],.bubble li>a span[class^=icon-],.bubble li>a span[class*=" icon-"],.bubble li>.menuitem span[class^=icon-],.bubble li>.menuitem span[class*=" icon-"],.app-navigation-entry-menu li>button span[class^=icon-],.app-navigation-entry-menu li>button span[class*=" icon-"],.app-navigation-entry-menu li>a span[class^=icon-],.app-navigation-entry-menu li>a span[class*=" icon-"],.app-navigation-entry-menu li>.menuitem span[class^=icon-],.app-navigation-entry-menu li>.menuitem span[class*=" icon-"],.popovermenu li>button span[class^=icon-],.popovermenu li>button span[class*=" icon-"],.popovermenu li>a span[class^=icon-],.popovermenu li>a span[class*=" icon-"],.popovermenu li>.menuitem span[class^=icon-],.popovermenu li>.menuitem span[class*=" icon-"]{padding:17px 0 17px 34px}.bubble li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child{margin-inline-start:34px}.bubble li>button[class^=icon-],.bubble li>button[class*=" icon-"],.bubble li>a[class^=icon-],.bubble li>a[class*=" icon-"],.bubble li>.menuitem[class^=icon-],.bubble li>.menuitem[class*=" icon-"],.app-navigation-entry-menu li>button[class^=icon-],.app-navigation-entry-menu li>button[class*=" icon-"],.app-navigation-entry-menu li>a[class^=icon-],.app-navigation-entry-menu li>a[class*=" icon-"],.app-navigation-entry-menu li>.menuitem[class^=icon-],.app-navigation-entry-menu li>.menuitem[class*=" icon-"],.popovermenu li>button[class^=icon-],.popovermenu li>button[class*=" icon-"],.popovermenu li>a[class^=icon-],.popovermenu li>a[class*=" icon-"],.popovermenu li>.menuitem[class^=icon-],.popovermenu li>.menuitem[class*=" icon-"]{padding:0 9px 0 34px !important}.bubble li>button:hover,.bubble li>button:focus,.bubble li>a:hover,.bubble li>a:focus,.bubble li>.menuitem:hover,.bubble li>.menuitem:focus,.app-navigation-entry-menu li>button:hover,.app-navigation-entry-menu li>button:focus,.app-navigation-entry-menu li>a:hover,.app-navigation-entry-menu li>a:focus,.app-navigation-entry-menu li>.menuitem:hover,.app-navigation-entry-menu li>.menuitem:focus,.popovermenu li>button:hover,.popovermenu li>button:focus,.popovermenu li>a:hover,.popovermenu li>a:focus,.popovermenu li>.menuitem:hover,.popovermenu li>.menuitem:focus{background-color:var(--color-background-hover)}.bubble li>button:focus,.bubble li>button:focus-visible,.bubble li>a:focus,.bubble li>a:focus-visible,.bubble li>.menuitem:focus,.bubble li>.menuitem:focus-visible,.app-navigation-entry-menu li>button:focus,.app-navigation-entry-menu li>button:focus-visible,.app-navigation-entry-menu li>a:focus,.app-navigation-entry-menu li>a:focus-visible,.app-navigation-entry-menu li>.menuitem:focus,.app-navigation-entry-menu li>.menuitem:focus-visible,.popovermenu li>button:focus,.popovermenu li>button:focus-visible,.popovermenu li>a:focus,.popovermenu li>a:focus-visible,.popovermenu li>.menuitem:focus,.popovermenu li>.menuitem:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element)}.bubble li>button.active,.bubble li>a.active,.bubble li>.menuitem.active,.app-navigation-entry-menu li>button.active,.app-navigation-entry-menu li>a.active,.app-navigation-entry-menu li>.menuitem.active,.popovermenu li>button.active,.popovermenu li>a.active,.popovermenu li>.menuitem.active{border-radius:var(--border-radius-element);background-color:var(--color-primary-element-light)}.bubble li>button.action,.bubble li>a.action,.bubble li>.menuitem.action,.app-navigation-entry-menu li>button.action,.app-navigation-entry-menu li>a.action,.app-navigation-entry-menu li>.menuitem.action,.popovermenu li>button.action,.popovermenu li>a.action,.popovermenu li>.menuitem.action{padding:inherit !important}.bubble li>button>span,.bubble li>a>span,.bubble li>.menuitem>span,.app-navigation-entry-menu li>button>span,.app-navigation-entry-menu li>a>span,.app-navigation-entry-menu li>.menuitem>span,.popovermenu li>button>span,.popovermenu li>a>span,.popovermenu li>.menuitem>span{cursor:pointer;white-space:nowrap}.bubble li>button>p,.bubble li>a>p,.bubble li>.menuitem>p,.app-navigation-entry-menu li>button>p,.app-navigation-entry-menu li>a>p,.app-navigation-entry-menu li>.menuitem>p,.popovermenu li>button>p,.popovermenu li>a>p,.popovermenu li>.menuitem>p{width:150px;line-height:1.6em;padding:8px 0;white-space:normal}.bubble li>button>select,.bubble li>a>select,.bubble li>.menuitem>select,.app-navigation-entry-menu li>button>select,.app-navigation-entry-menu li>a>select,.app-navigation-entry-menu li>.menuitem>select,.popovermenu li>button>select,.popovermenu li>a>select,.popovermenu li>.menuitem>select{margin:0;margin-inline-start:6px}.bubble li>button:not(:empty),.bubble li>a:not(:empty),.bubble li>.menuitem:not(:empty),.app-navigation-entry-menu li>button:not(:empty),.app-navigation-entry-menu li>a:not(:empty),.app-navigation-entry-menu li>.menuitem:not(:empty),.popovermenu li>button:not(:empty),.popovermenu li>a:not(:empty),.popovermenu li>.menuitem:not(:empty){padding-inline-end:9px !important}.bubble li>button>img,.bubble li>a>img,.bubble li>.menuitem>img,.app-navigation-entry-menu li>button>img,.app-navigation-entry-menu li>a>img,.app-navigation-entry-menu li>.menuitem>img,.popovermenu li>button>img,.popovermenu li>a>img,.popovermenu li>.menuitem>img{width:16px;padding:9px}.bubble li>button>input.radio+label,.bubble li>button>input.checkbox+label,.bubble li>a>input.radio+label,.bubble li>a>input.checkbox+label,.bubble li>.menuitem>input.radio+label,.bubble li>.menuitem>input.checkbox+label,.app-navigation-entry-menu li>button>input.radio+label,.app-navigation-entry-menu li>button>input.checkbox+label,.app-navigation-entry-menu li>a>input.radio+label,.app-navigation-entry-menu li>a>input.checkbox+label,.app-navigation-entry-menu li>.menuitem>input.radio+label,.app-navigation-entry-menu li>.menuitem>input.checkbox+label,.popovermenu li>button>input.radio+label,.popovermenu li>button>input.checkbox+label,.popovermenu li>a>input.radio+label,.popovermenu li>a>input.checkbox+label,.popovermenu li>.menuitem>input.radio+label,.popovermenu li>.menuitem>input.checkbox+label{padding:0 !important;width:100%}.bubble li>button>input.checkbox+label::before,.bubble li>a>input.checkbox+label::before,.bubble li>.menuitem>input.checkbox+label::before,.app-navigation-entry-menu li>button>input.checkbox+label::before,.app-navigation-entry-menu li>a>input.checkbox+label::before,.app-navigation-entry-menu li>.menuitem>input.checkbox+label::before,.popovermenu li>button>input.checkbox+label::before,.popovermenu li>a>input.checkbox+label::before,.popovermenu li>.menuitem>input.checkbox+label::before{margin:-2px 13px 0}.bubble li>button>input.radio+label::before,.bubble li>a>input.radio+label::before,.bubble li>.menuitem>input.radio+label::before,.app-navigation-entry-menu li>button>input.radio+label::before,.app-navigation-entry-menu li>a>input.radio+label::before,.app-navigation-entry-menu li>.menuitem>input.radio+label::before,.popovermenu li>button>input.radio+label::before,.popovermenu li>a>input.radio+label::before,.popovermenu li>.menuitem>input.radio+label::before{margin:-2px 12px 0}.bubble li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.bubble li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.bubble li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}.bubble li>button form,.bubble li>a form,.bubble li>.menuitem form,.app-navigation-entry-menu li>button form,.app-navigation-entry-menu li>a form,.app-navigation-entry-menu li>.menuitem form,.popovermenu li>button form,.popovermenu li>a form,.popovermenu li>.menuitem form{display:flex;flex:1 1 auto;align-items:center}.bubble li>button form:not(:first-child),.bubble li>a form:not(:first-child),.bubble li>.menuitem form:not(:first-child),.app-navigation-entry-menu li>button form:not(:first-child),.app-navigation-entry-menu li>a form:not(:first-child),.app-navigation-entry-menu li>.menuitem form:not(:first-child),.popovermenu li>button form:not(:first-child),.popovermenu li>a form:not(:first-child),.popovermenu li>.menuitem form:not(:first-child){margin-inline-start:5px}.bubble li>button>span.hidden+form,.bubble li>button>span[style*="display:none"]+form,.bubble li>a>span.hidden+form,.bubble li>a>span[style*="display:none"]+form,.bubble li>.menuitem>span.hidden+form,.bubble li>.menuitem>span[style*="display:none"]+form,.app-navigation-entry-menu li>button>span.hidden+form,.app-navigation-entry-menu li>button>span[style*="display:none"]+form,.app-navigation-entry-menu li>a>span.hidden+form,.app-navigation-entry-menu li>a>span[style*="display:none"]+form,.app-navigation-entry-menu li>.menuitem>span.hidden+form,.app-navigation-entry-menu li>.menuitem>span[style*="display:none"]+form,.popovermenu li>button>span.hidden+form,.popovermenu li>button>span[style*="display:none"]+form,.popovermenu li>a>span.hidden+form,.popovermenu li>a>span[style*="display:none"]+form,.popovermenu li>.menuitem>span.hidden+form,.popovermenu li>.menuitem>span[style*="display:none"]+form{margin-inline-start:0}.bubble li>button input,.bubble li>a input,.bubble li>.menuitem input,.app-navigation-entry-menu li>button input,.app-navigation-entry-menu li>a input,.app-navigation-entry-menu li>.menuitem input,.popovermenu li>button input,.popovermenu li>a input,.popovermenu li>.menuitem input{min-width:34px;max-height:30px;margin:2px 0;flex:1 1 auto}.bubble li>button input:not(:first-child),.bubble li>a input:not(:first-child),.bubble li>.menuitem input:not(:first-child),.app-navigation-entry-menu li>button input:not(:first-child),.app-navigation-entry-menu li>a input:not(:first-child),.app-navigation-entry-menu li>.menuitem input:not(:first-child),.popovermenu li>button input:not(:first-child),.popovermenu li>a input:not(:first-child),.popovermenu li>.menuitem input:not(:first-child){margin-inline-start:5px}.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input{margin-top:7px}.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input{margin-bottom:0px}.bubble li>button,.app-navigation-entry-menu li>button,.popovermenu li>button{padding:0}.bubble li>button span,.app-navigation-entry-menu li>button span,.popovermenu li>button span{opacity:1}.popovermenu li>button>img,.popovermenu li>a>img,.popovermenu li>.menuitem>img{width:34px;height:34px}#contactsmenu .contact .popovermenu li>a>img{width:16px;height:16px}.app-content-list{position:-webkit-sticky;position:relative;top:0;border-inline-end:1px solid var(--color-border);display:flex;flex-direction:column;transition:transform 250ms ease-in-out;min-height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;flex:1 1 200px;min-width:200px;max-width:300px}.app-content-list .app-content-list-item{position:relative;height:68px;cursor:pointer;padding:10px 7px;display:flex;flex-wrap:wrap;align-items:center;flex:0 0 auto}.app-content-list .app-content-list-item>[class^=icon-],.app-content-list .app-content-list-item>[class*=" icon-"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]{order:4;width:24px;height:24px;margin:-7px;padding:22px;opacity:.3;cursor:pointer}.app-content-list .app-content-list-item>[class^=icon-]:hover,.app-content-list .app-content-list-item>[class^=icon-]:focus,.app-content-list .app-content-list-item>[class*=" icon-"]:hover,.app-content-list .app-content-list-item>[class*=" icon-"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]:focus{opacity:.7}.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star],.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"],.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star],.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]{opacity:.7}.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star]:hover,.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star]:focus,.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star]:hover,.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star]:focus,.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]:focus{opacity:1}.app-content-list .app-content-list-item>[class^=icon-].icon-starred,.app-content-list .app-content-list-item>[class*=" icon-"].icon-starred,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-].icon-starred,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"].icon-starred{opacity:1}.app-content-list .app-content-list-item:hover,.app-content-list .app-content-list-item:focus,.app-content-list .app-content-list-item.active{background-color:var(--color-background-dark)}.app-content-list .app-content-list-item:hover .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item:focus .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item.active .app-content-list-item-checkbox.checkbox+label{display:flex}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item .app-content-list-item-star{position:absolute;height:40px;width:40px;z-index:50}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:checked+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:hover+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:focus+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox.active+label{display:flex}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:checked+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:hover+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:focus+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox.active+label+.app-content-list-item-icon{opacity:.7}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label{top:14px;inset-inline-start:7px;display:none}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label::before{margin:0}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label~.app-content-list-item-star{display:none}.app-content-list .app-content-list-item .app-content-list-item-star{display:flex;top:10px;inset-inline-start:32px;background-size:16px;height:20px;width:20px;margin:0;padding:0}.app-content-list .app-content-list-item .app-content-list-item-icon{position:absolute;display:inline-block;height:40px;width:40px;line-height:40px;border-radius:50%;vertical-align:middle;margin-inline-end:10px;color:#fff;text-align:center;font-size:1.5em;text-transform:capitalize;object-fit:cover;user-select:none;cursor:pointer;top:50%;margin-top:-20px}.app-content-list .app-content-list-item .app-content-list-item-line-one,.app-content-list .app-content-list-item .app-content-list-item-line-two{display:block;padding-inline:50px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;order:1;flex:1 1 0px;cursor:pointer}.app-content-list .app-content-list-item .app-content-list-item-line-two{opacity:.5;order:3;flex:1 0;flex-basis:calc(100% - var(--default-clickable-area))}.app-content-list .app-content-list-item .app-content-list-item-details{order:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;opacity:.5;font-size:80%;user-select:none}.app-content-list .app-content-list-item .app-content-list-item-menu{order:4;position:relative}.app-content-list .app-content-list-item .app-content-list-item-menu .popovermenu{margin:0;inset-inline-end:-2px}.app-content-list.selection .app-content-list-item-checkbox.checkbox+label{display:flex}.button.primary.skip-navigation:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2015 ownCloud Inc.
+ * SPDX-FileCopyrightText: 2015 Raghu Nayyar, http://raghunayyar.com
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */body[dir=ltr] .pull-left,body[dir=ltr] .pull-start{float:left}body[dir=ltr] .pull-right,body[dir=ltr] .pull-end{float:right}body[dir=ltr] .clear-left,body[dir=ltr] .clear-start{clear:left}body[dir=ltr] .clear-right,body[dir=ltr] .clear-end{clear:right}body[dir=rtl] .pull-left,body[dir=rtl] .pull-start{float:right}body[dir=rtl] .pull-right,body[dir=rtl] .pull-end{float:left}body[dir=rtl] .clear-left,body[dir=rtl] .clear-start{clear:right}body[dir=rtl] .clear-right,body[dir=rtl] .clear-end{clear:left}.clear-both{clear:both}.hidden{display:none}.hidden-visually{position:absolute;inset-inline-start:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}.bold{font-weight:600}.center{text-align:center}.inlineblock{display:inline-block}/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */::-moz-focus-inner{border:0}/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */@media only screen and (width < 1024px){#dropdown{margin-inline-end:10% !important;width:80% !important}.ui-autocomplete{z-index:1000 !important}.error-wide{width:100%;margin-inline-start:0 !important;box-sizing:border-box}#app-navigation:not(.vue){transform:translateX(-300px);position:fixed;height:var(--body-height)}.snapjs-left #app-navigation{transform:translateX(0)}#app-navigation:not(.hidden)+#app-content{margin-inline-start:0}.skip-navigation.skip-content{inset-inline-start:3px;margin-inline-start:0}.app-content-list{background:var(--color-main-background);flex:1 1 100%;max-height:unset;max-width:100%}.app-content-list+.app-content-details{display:none}.app-content-list.showdetails{display:none}.app-content-list.showdetails+.app-content-details{display:initial}#app-content.showdetails #app-navigation-toggle{transform:translateX(-44px)}#app-content.showdetails #app-navigation-toggle-back{position:fixed;display:inline-block !important;top:50px;inset-inline-start:0;width:44px;height:44px;z-index:1050;background-color:hsla(0,0%,100%,.7);cursor:pointer;opacity:.6;transform:rotate(90deg)}#app-content.showdetails .app-content-list{transform:translateX(-100%)}#app-navigation-toggle{position:fixed;display:inline-block !important;inset-inline-start:0;width:44px;height:44px;z-index:1050;cursor:pointer;opacity:.6}#app-navigation-toggle:hover,#app-navigation-toggle:focus{opacity:1}#app-navigation+#app-content .files-controls{padding-inline-start:44px}#body-user .app-files.viewer-mode .files-controls{padding-inline-start:0 !important}.app-files.viewer-mode #app-navigation-toggle{display:none !important}table.multiselect thead{inset-inline-start:0 !important}#usersearchform{display:none}#body-settings .files-controls{min-width:1024px !important}}@media only screen and (max-width: 480px){#header .header-end>div>.menu{max-width:calc(100vw - 10px);position:fixed}#header .header-end>div>.menu::after{display:none !important}#header .header-end>div.openedMenu::after{display:block}#header .header-end>div::after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:0;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:15px;z-index:2001;display:none}#header .header-end>div#settings::after{inset-inline-end:27px}}/*!
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2011-2015 Twitter, Inc. (Bootstrap (http://getbootstrap.com))
+ * SPDX-License-Identifier: MIT
+ */.tooltip{position:absolute;display:block;font-family:var(--font-face);font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;overflow-wrap:anywhere;font-size:12px;opacity:0;z-index:100000;margin-top:-3px;padding:10px 0;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.tooltip.in,.tooltip.show,.tooltip.tooltip[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}.tooltip.top .tooltip-arrow,.tooltip[x-placement^=top]{inset-inline-start:50%;margin-inline-start:-10px}.tooltip.bottom,.tooltip[x-placement^=bottom]{margin-top:3px;padding:10px 0}.tooltip.right,.tooltip[x-placement^=right]{margin-inline-start:3px;padding:0 10px}.tooltip.right .tooltip-arrow,.tooltip[x-placement^=right] .tooltip-arrow{top:50%;inset-inline-start:0;margin-top:-10px;border-width:10px 10px 10px 0;border-inline-end-color:var(--color-main-background)}.tooltip.left,.tooltip[x-placement^=left]{margin-inline-start:-3px;padding:0 5px}.tooltip.left .tooltip-arrow,.tooltip[x-placement^=left] .tooltip-arrow{top:50%;inset-inline-end:0;margin-top:-10px;border-width:10px 0 10px 10px;border-inline-start-color:var(--color-main-background)}.tooltip.top .tooltip-arrow,.tooltip.top .arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-left .arrow,.tooltip[x-placement^=top] .tooltip-arrow,.tooltip[x-placement^=top] .arrow,.tooltip.top-right .tooltip-arrow,.tooltip.top-right .arrow{bottom:0;border-width:10px 10px 0;border-top-color:var(--color-main-background)}.tooltip.top-left .tooltip-arrow{inset-inline-end:10px;margin-bottom:-10px}.tooltip.top-right .tooltip-arrow{inset-inline-start:10px;margin-bottom:-10px}.tooltip.bottom .tooltip-arrow,.tooltip.bottom .arrow,.tooltip[x-placement^=bottom] .tooltip-arrow,.tooltip[x-placement^=bottom] .arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-left .arrow,.tooltip.bottom-right .tooltip-arrow,.tooltip.bottom-right .arrow{top:0;border-width:0 10px 10px;border-bottom-color:var(--color-main-background)}.tooltip[x-placement^=bottom] .tooltip-arrow,.tooltip.bottom .tooltip-arrow{inset-inline-start:50%;margin-inline-start:-10px}.tooltip.bottom-left .tooltip-arrow{inset-inline-end:10px;margin-top:-10px}.tooltip.bottom-right .tooltip-arrow{inset-inline-start:10px;margin-top:-10px}.tooltip-inner{max-width:350px;padding:5px 8px;background-color:var(--color-main-background);color:var(--color-main-text);text-align:center;border-radius:var(--border-radius)}.tooltip-arrow,.tooltip .arrow{position:absolute;width:0;height:0;border-color:rgba(0,0,0,0);border-style:solid}/*!
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */.toastify.dialogs{min-width:200px;background:none;background-color:var(--color-main-background);color:var(--color-main-text);box-shadow:0 0 6px 0 var(--color-box-shadow);padding:0 12px;margin-top:45px;position:fixed;z-index:10100;border-radius:var(--border-radius);display:flex;align-items:center;min-height:50px}.toastify.dialogs .toast-loader-container,.toastify.dialogs .toast-undo-container{display:flex;align-items:center;width:100%}.toastify.dialogs .toast-undo-button,.toastify.dialogs .toast-close{position:static;overflow:hidden;box-sizing:border-box;min-width:44px;height:100%;padding:12px;white-space:nowrap;background-repeat:no-repeat;background-position:center;background-color:transparent;min-height:0}.toastify.dialogs .toast-undo-button.toast-close,.toastify.dialogs .toast-close.toast-close{text-indent:0;opacity:.4;border:none;min-height:44px;margin-left:10px;font-size:0}.toastify.dialogs .toast-undo-button.toast-close::before,.toastify.dialogs .toast-close.toast-close::before{background-image:url("data:image/svg+xml,%3csvg%20viewBox='0%200%2016%2016'%20height='16'%20width='16'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2'%3e%3cpath%20d='M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z'%20style='fill-rule:nonzero'%20transform='matrix(.85714%200%200%20.85714%20-2.286%20-2.286)'/%3e%3c/svg%3e");content:" ";filter:var(--background-invert-if-dark);display:inline-block;width:16px;height:16px}.toastify.dialogs .toast-undo-button.toast-undo-button,.toastify.dialogs .toast-close.toast-undo-button{margin:3px;height:calc(100% - 6px);margin-left:12px}.toastify.dialogs .toast-undo-button:hover,.toastify.dialogs .toast-undo-button:focus,.toastify.dialogs .toast-undo-button:active,.toastify.dialogs .toast-close:hover,.toastify.dialogs .toast-close:focus,.toastify.dialogs .toast-close:active{cursor:pointer;opacity:1}.toastify.dialogs.toastify-top{right:10px}.toastify.dialogs.toast-with-click{cursor:pointer}.toastify.dialogs.toast-error{border-left:3px solid var(--color-error)}.toastify.dialogs.toast-info{border-left:3px solid var(--color-primary)}.toastify.dialogs.toast-warning{border-left:3px solid var(--color-warning)}.toastify.dialogs.toast-success{border-left:3px solid var(--color-success)}.toastify.dialogs.toast-undo{border-left:3px solid var(--color-success)}.toastify.dialogs.toast-loading{border-left:3px solid var(--color-primary)}.toastify.dialogs.toast-loading .toast-loader{display:inline-block;width:20px;height:20px;animation:rotate var(--animation-duration, 0.8s) linear infinite;margin-left:auto}.theme--dark .toastify.dialogs .toast-close.toast-close::before{background-image:url("data:image/svg+xml,%3csvg%20viewBox='0%200%2016%2016'%20height='16'%20width='16'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2'%3e%3cpath%20d='M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z'%20style='fill:%23fff;fill-rule:nonzero'%20transform='matrix(.85714%200%200%20.85714%20-2.286%20-2.286)'/%3e%3c/svg%3e")}.nc-generic-dialog .dialog__actions{justify-content:space-between;min-width:calc(100% - 12px)}/*!
+ * SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */._file-picker__file-icon_3v9zx_9{position:relative;width:32px;height:32px;min-width:32px;min-height:32px;background-repeat:no-repeat;background-size:contain;display:flex;justify-content:center}._file-picker__file-icon--primary_3v9zx_21{color:var(--color-primary-element)}._file-picker__file-icon-overlay_3v9zx_25{color:var(--color-primary-element-text);position:absolute;inset-block-start:10px}/*!
+* SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
+* SPDX-License-Identifier: AGPL-3.0-or-later
+*/tr.file-picker__row[data-v-15187afc]{height:var(--row-height, 50px)}tr.file-picker__row td[data-v-15187afc]{cursor:pointer;overflow:hidden;text-overflow:ellipsis;border-bottom:none}tr.file-picker__row td.row-checkbox[data-v-15187afc]{padding:0 2px}tr.file-picker__row td[data-v-15187afc]:not(.row-checkbox){padding-inline:14px 0}tr.file-picker__row td.row-size[data-v-15187afc]{text-align:end;padding-inline:0 14px}tr.file-picker__row td.row-name[data-v-15187afc]{padding-inline:2px 0}@keyframes gradient-15187afc{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.loading-row .row-checkbox[data-v-15187afc]{text-align:center !important}.loading-row span[data-v-15187afc]{display:inline-block;height:24px;background:linear-gradient(to right, var(--color-background-darker), var(--color-text-maxcontrast), var(--color-background-darker));background-size:600px 100%;border-radius:var(--border-radius);animation:gradient-15187afc 12s ease infinite}.loading-row .row-wrapper[data-v-15187afc]{display:inline-flex;align-items:center}.loading-row .row-checkbox span[data-v-15187afc]{width:24px}.loading-row .row-name span[data-v-15187afc]:last-of-type{margin-inline-start:6px;width:130px}.loading-row .row-size span[data-v-15187afc]{width:80px}.loading-row .row-modified span[data-v-15187afc]{width:90px}/*!
+* SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
+* SPDX-License-Identifier: AGPL-3.0-or-later
+*/tr.file-picker__row[data-v-4892c2a0]{height:var(--row-height, 50px)}tr.file-picker__row td[data-v-4892c2a0]{cursor:pointer;overflow:hidden;text-overflow:ellipsis;border-bottom:none}tr.file-picker__row td.row-checkbox[data-v-4892c2a0]{padding:0 2px}tr.file-picker__row td[data-v-4892c2a0]:not(.row-checkbox){padding-inline:14px 0}tr.file-picker__row td.row-size[data-v-4892c2a0]{text-align:end;padding-inline:0 14px}tr.file-picker__row td.row-name[data-v-4892c2a0]{padding-inline:2px 0}.file-picker__row--selected[data-v-4892c2a0]{background-color:var(--color-background-dark)}.file-picker__row[data-v-4892c2a0]:hover{background-color:var(--color-background-hover)}.file-picker__name-container[data-v-4892c2a0]{display:flex;justify-content:start;align-items:center;height:100%}.file-picker__file-name[data-v-4892c2a0]{padding-inline-start:6px;min-width:0;overflow:hidden;text-overflow:ellipsis}.file-picker__file-extension[data-v-4892c2a0]{color:var(--color-text-maxcontrast);min-width:fit-content}.file-picker__header-preview[data-v-4f5d2a56]{width:22px;height:32px;flex:0 0 auto}.file-picker__files[data-v-4f5d2a56]{margin:2px;margin-inline-start:12px;overflow:scroll auto}.file-picker__files table[data-v-4f5d2a56]{width:100%;max-height:100%;table-layout:fixed}.file-picker__files th[data-v-4f5d2a56]{position:sticky;z-index:1;top:0;background-color:var(--color-main-background);padding:2px}.file-picker__files th .header-wrapper[data-v-4f5d2a56]{display:flex}.file-picker__files th.row-checkbox[data-v-4f5d2a56]{width:44px}.file-picker__files th.row-name[data-v-4f5d2a56]{width:230px}.file-picker__files th.row-size[data-v-4f5d2a56]{width:100px}.file-picker__files th.row-modified[data-v-4f5d2a56]{width:120px}.file-picker__files th[data-v-4f5d2a56]:not(.row-size) .button-vue__wrapper{justify-content:start;flex-direction:row-reverse}.file-picker__files th[data-v-4f5d2a56]:not(.row-size) .button-vue{padding-inline:16px 4px}.file-picker__files th.row-size[data-v-4f5d2a56] .button-vue__wrapper{justify-content:end}.file-picker__files th[data-v-4f5d2a56] .button-vue__wrapper{color:var(--color-text-maxcontrast)}.file-picker__files th[data-v-4f5d2a56] .button-vue__wrapper .button-vue__text{font-weight:normal}.file-picker__breadcrumbs[data-v-ec4d392b]{flex-grow:0 !important}.file-picker__side[data-v-f5975252]{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;min-width:200px;padding:2px;margin-block-start:7px;overflow:auto}.file-picker__side[data-v-f5975252] .button-vue__wrapper{justify-content:start}.file-picker__filter-input[data-v-f5975252]{margin-block:7px;max-width:260px}@media(max-width: 736px){.file-picker__side[data-v-f5975252]{flex-direction:row;min-width:unset}}@media(max-width: 512px){.file-picker__side[data-v-f5975252]{flex-direction:row;min-width:unset}.file-picker__filter-input[data-v-f5975252]{max-width:unset}}.file-picker__navigation{padding-inline:8px 2px}.file-picker__navigation,.file-picker__navigation *{box-sizing:border-box}.file-picker__navigation .v-select.select{min-width:220px}@media(min-width: 513px)and (max-width: 736px){.file-picker__navigation{gap:11px}}@media(max-width: 512px){.file-picker__navigation{flex-direction:column-reverse !important}}.file-picker__view[data-v-552cc2f5]{height:50px;display:flex;justify-content:start;align-items:center}.file-picker__view h3[data-v-552cc2f5]{font-weight:bold;height:fit-content;margin:0}.file-picker__main[data-v-552cc2f5]{box-sizing:border-box;width:100%;display:flex;flex-direction:column;min-height:0;flex:1;padding-inline:2px}.file-picker__main *[data-v-552cc2f5]{box-sizing:border-box}[data-v-552cc2f5] .file-picker{height:min(80vh,800px) !important}@media(max-width: 512px){[data-v-552cc2f5] .file-picker{height:calc(100% - 16px - var(--default-clickable-area)) !important}}[data-v-552cc2f5] .file-picker__content{display:flex;flex-direction:column;overflow:hidden}.public-auth-prompt__text[data-v-143ac1fb]{font-size:1.25em;margin-block:0 calc(3*var(--default-grid-baseline))}.public-auth-prompt__header[data-v-143ac1fb]{margin-block:0 calc(3*var(--default-grid-baseline))}.public-auth-prompt__header[data-v-143ac1fb]:first-child{margin-top:0}.public-auth-prompt__input[data-v-143ac1fb]{margin-block:calc(4*var(--default-grid-baseline)) calc(2*var(--default-grid-baseline))}/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */#body-public{--footer-height: calc(2lh + 2 * var(--default-grid-baseline))}#body-public .header-end #header-primary-action a{color:var(--color-primary-element-text)}#body-public .header-end #header-secondary-action ul li{min-width:270px}#body-public .header-end #header-secondary-action #header-actions-toggle{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);filter:var(--background-invert-if-dark)}#body-public .header-end #header-secondary-action #header-actions-toggle:hover,#body-public .header-end #header-secondary-action #header-actions-toggle:focus,#body-public .header-end #header-secondary-action #header-actions-toggle:active{opacity:1}#body-public .header-end #header-secondary-action #external-share-menu-item form{display:flex}#body-public .header-end #header-secondary-action #external-share-menu-item .hidden{display:none}#body-public .header-end #header-secondary-action #external-share-menu-item #save-button-confirm{flex-grow:0}#body-public #content{min-height:var(--body-height, calc(100% - var(--footer-height)));padding-block-end:var(--footer-height)}#body-public #app-content-vue{padding-block-end:var(--footer-height)}#body-public.layout-base #content{padding-top:0}#body-public p.info{margin:20px auto;text-shadow:0 0 2px rgba(0,0,0,.4);-moz-user-select:none;-ms-user-select:none;user-select:none}#body-public p.info,#body-public form fieldset legend,#body-public #datadirContent label,#body-public form fieldset .warning-info,#body-public form input[type=checkbox]+label{text-align:center}#body-public footer{position:fixed;bottom:var(--body-container-margin);background-color:var(--color-main-background);border-radius:var(--body-container-radius);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(100% - 2*var(--body-container-margin));margin-inline:var(--body-container-margin);padding-block:var(--default-grid-baseline)}#body-public footer .footer__legal-links{margin-block-end:var(--default-grid-baseline)}#body-public footer p{text-align:center;color:var(--color-text-maxcontrast);margin-block:0 var(--default-grid-baseline);width:100%}#body-public footer p a{display:inline-block;font-size:var(--default-font-size);font-weight:bold;line-height:var(--default-line-height);height:var(--default-line-height);color:var(--color-text-maxcontrast);white-space:nowrap}/*# sourceMappingURL=server.css.map */
diff --git a/core/css/server.css.map b/core/css/server.css.map
new file mode 100644
index 00000000000..4a1b3a13ba4
--- /dev/null
+++ b/core/css/server.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["server.scss","icons.scss","variables.scss","styles.scss","inputs.scss","functions.scss","header.scss","apps.scss","global.scss","fixes.scss","mobile.scss","tooltip.scss","../../node_modules/@nextcloud/dialogs/dist/style.css","public.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCwHQ,8BCtHR;AAAA;AAAA;AAAA,GCMA,MACC,mCACA,uCAGD,yQACC,SACA,UACA,SACA,oBACA,eACA,oBACA,wBACA,eACA,uCAGD,6CACC,aAID,0CACC,wDACA,aAGD,UACC,YAEA,8BAGD,6DACC,cAGD,MACC,yBACA,iBACA,mBAGD,cACC,iBACA,mBAGD,YACC,sBAGD,EACC,SACA,6BACA,qBACA,eACA,IACC,eAIF,WACC,aACA,0BAGD,MACC,eACA,QACC,eAIF,0BACC,eAGD,GACC,gBAGD,KACC,mBAEA,mCACA,uCACA,6BACA,6BAGD,mBACC,kBAGD,qBACC,kBACA,sBACA,qBACA,2BACA,2DACA,uBAGD,iBACC,qBACA,aACA,gCAGD,eACC,YACA,aAGD,cACC,eACA,MACA,SACA,qBACA,YACA,WACA,aACA,kBACA,gDACA,wCACA,iBACA,eACA,kBACC,cACA,kBACA,UACA,QACA,gBAED,gBACC,wCACA,sDACA,4CACC,6CAOH,oBACC,WACA,YAGD,2BACC,+BAGD,gCACC,+BAGD,0BACC,kCACA,yCACA,+BACA,4BAMD,YACC,8CACA,wCAMD,kBACC,sBAKD,4BAEC,oCACA,kBACA,gBACA,WACA,sDACC,gBAED,sEACC,gBAED,kCACC,mBAED,oHAEC,qBACA,YACA,WACA,mBACA,gcAEC,WAOH,sBACC,WASD,oCACC,kBACA,yBACA,sBACA,qBACA,iBAID,kBAEC,kBACA,qBACA,SAEA,YAGD,8CAGC,WAGD,8BACC,sBACA,oBACA,wBACA,wBAGD,2EACC,WAGD,oGACC,kDACA,UACA,qBAGD,mDACC,6BACA,YACA,WACA,yCACA,4BACA,2BACA,WAOA,qEACC,UAED,qEACC,UAIF,wEACC,aAGD,2CACC,wBAGD,yBACC,kBACA,qBACA,sBAGD,qBACC,cACA,mBACA,iBACA,uBACA,aAKD,4CACC,eACA,YACA,mCACA,6BACA,qDAIA,2BACC,4BAKD,wBACC,sBACA,4BACA,+BACC,2CACA,qBACA,kBAGF,0BACC,qBACA,iBAIF,YACC,YACA,sCACA,oBACC,sBAIF,eACC,2CAUD,mBACC,kBACA,cACA,2BACC,kBACA,cAIF,UACC,gBAGD,8CACC,UAIA,WACC,WACA,YAGD,8CAEC,UAGD,oGAGC,WAIF,mBACC,WACA,kBACA,QAEA,kDACC,UAKD,kDACC,UAIF,eACC,WAEA,0CACC,UAKD,uGACC,8CAIF,KACC,mFAGD,OACC,gBACA,YACA,eACA,qBACA,UACC,qBAIF,2FACC,gBACA,uBAGD,2BACC,yDAGD,2BACC,6DAID,yBACC,gBACA,gBACA,WACA,mCACA,YACA,wBAEA,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAED,oDACC,WAEA,4JAEC,kCACA,4BAGF,oEACC,UAID,oDACC,mBACA,gCACA,WACA,WACA,YAED,0DACC,yBAGA,+FACC,gDAGD,wOAGC,8CACA,wCACA,iBAGD,yNAEC,gCACA,WAOH,4FACC,iDAED,4FACC,gDAKD,4FACC,gDAED,4FACC,iDAIF,wCACC,gCACA,wCAKD,yBACC,2BACA,sBACA,mCACA,wBAEA,4CACC,uBAGD,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAIF,qFACC,yBAGA,iDACC,mBACA,gCACA,WACA,yDACC,UACA,WACA,iBAGF,uDACC,yBAGA,0TAIC,8CACA,wCACA,iBAGD,4FACC,gCAGD,qEACC,gDASH,oGACC,aACA,iBACA,8BACA,0GACC,cACA,SACA,YACA,YACA,WACA,aACA,mBACA,uBACA,8GACC,kBACA,kBACA,mBACA,6BACA,cACA,iBACA,WACA,YACA,YACA,eAOJ,WACC,0BAGD,aACC,WACA,sBACA,oBAKD,YACC,kCAMA,qBACC,WACA,aAED,wBACC,cACA,gDACA,WACA,aAED,2BACC,WACA,YACA,6BACC,WAGF,wBACC,wCACA,kBACA,mBACA,gBACA,uBACA,0CACA,kCACA,6DACC,0CAGF,sBACC,UACA,WAKF,YACC,oBACA,YAGD,SACC,oBACA,kDACA,4BACA,iCACA,YACA,0BACA,cACA,QACA,uBACA,mBACC,QACA,kBACA,qBACC,WAIA,wFACC,cAIF,gCACC,SACA,sBACA,mCACC,iBACA,gBACA,kBACA,uBACA,+DACC,+EAGF,+CACC,aAIH,gBACC,aACA,uBACC,QAGF,yBAEC,kBACA,aACA,WACA,uBACA,mBACA,gBACA,cAEA,gBAEA,8FAGC,oBAGF,yBACC,UACA,WAGD,oBACC,iBACA,uBAEA,2BACC,uBAGF,+DACC,UAEA,0JAEC,WAOH,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAOD,+CACC,SACA,kBAED,mDACC,gBAKF,cACC,mBAMD,mBACC,aACA,QACA,SACA,UCz0BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUA,kFACC,6BAGD,uGACC,wCAGD,sDACC,kCAMD,iHAUC,YACA,yCACA,sBAYA,oFACC,eACA,oCACA,sCACA,QA/BiB,GAmCnB,wBACC,aAID,yJAUC,iBACA,8CACA,6BACA,0CACA,mCACA,aACA,mCACA,YACA,uYACC,WACA,sBAOC,kxDAIC,oCACA,aAED,gmBACC,aACA,8CACA,6BAGF,maACC,6DACA,oDAGF,wNACC,8CACA,6BACA,eACA,WAED,wNACC,gBAED,oPACC,mDAGD,iNACC,8CACA,0CACA,wCACA,eAGA,kvBAEC,+CAIA,mjCAGC,oDACA,gDAED,gwBAEC,4CAED,2WACC,6CAGF,gRAEC,8CACA,6CACA,eAKH,2BACC,WACA,sBACA,gBACA,eACA,gDACA,aACA,mCAEA,8CACA,oCACA,eACA,WAKA,4KACC,6BACA,0BACA,qBAEA,qCAED,0EAIC,YACA,WAID,kBACC,WACA,cACA,gBACA,WACA,eAED,mBACC,SACA,QAED,iBACC,cAKF,6GASC,2FACA,mCACA,WACA,yCACA,eACA,sBACA,8CACA,oDACA,YAEA,kSAEC,0DAGD,mKACC,eAIF,qMAcC,WACA,sBACA,eACA,mCACA,8CACA,6BACA,iDACA,YACA,aACA,yCACA,uBACA,eACA,+0BACC,8CACA,kDAED,yRACC,YAIF,mCACC,8CACA,6BAGD,mCACC,aACA,YAID,OACC,iDACA,gBACA,8CACA,mCAGD,qBACC,qCAGD,qBACC,oCASA,2DACC,eAIA,sFACC,eAMH,sGAQC,iBACA,2CAGA,gMACC,SAGD,oIACC,+CACA,2CACA,sBACA,kKACC,qDACA,+CAaD,4MAEC,qBACA,2BACA,WASF,kGACC,qCACA,mDACA,mFACA,iBACA,4BAEA,yDACA,UACA,qCACA,oCACA,gBACA,eACA,oBACA,6HACC,eCzUF,+CDiVE,yOACC,gCAID,4qBAGC,qDACA,8CACA,6vBACC,uDAQH,+VACC,qDACA,mDAEA,UAOH,uBAEC,eAGD,2BAEC,mBASA,4GAEC,kBACA,4BACA,SACA,UACA,WACA,gBACA,oIACC,iBAED,4WAEC,eAED,gKACC,WACA,qBACA,OAvBmB,KAwBnB,MAxBmB,KAyBnB,sBACA,kBACA,aACA,sBACA,+CAED,oeAEC,0CAED,4LACC,oBACA,qCACA,kBACA,mBAED,4bAIC,8DACA,8CACA,0CAED,oMACC,+CACA,0DAED,oOACC,+CAID,gJACC,qBACA,yBAED,oMACC,cA/DmB,KAmEpB,mFACC,kBACA,OArEmB,KAsEnB,MAtEmB,KAuEnB,2BACA,2BAED,mGACC,yDAED,+GACC,0DAOD,gZAEC,2BAED,wUACC,aAzF0B,KA2F3B,4NACC,8DACA,+BACA,2BAED,gOACC,0CACA,2CAED,gQACC,8DACA,2CACA,+BAID,8OAEC,0CACA,6BACA,+DAED,6HACC,gEAED,mHACC,WAMH,iBACC,gBACA,8CACA,qCACC,sCAED,yBACC,qBACA,sBACA,sBACA,6BACC,eAGF,uCACC,gBACA,wDACA,yCAED,kCACC,iBACA,SACA,UACA,wDACC,mBACA,gBACA,uBACA,6DACC,eACA,gEACC,eACA,iBAIH,6JAGC,kBACA,kBACA,aACA,+BACA,eACA,oCAGA,mEACC,8CAGF,uDACE,8CACA,6BAKJ,qDACC,4CAGD,qDACC,2CAKA,oGAEC,eAKD,mHAEC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,YACA,gBACA,6IACC,0CAED,iKACC,iBACA,yBACA,stBAIC,sBACA,8CACA,oCACA,0CAED,2NACC,aAGF,2KACC,iBACA,gBACA,gBACA,6BACA,yMACC,2BAMJ,sBACC,WACA,sBACA,+DACC,aACA,eACA,kEACC,WAGF,uCACC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,iBACA,gBACA,oDACC,0CAED,8DACC,iBACA,yBACA,sBACA,8CACA,0CACA,2FACC,aAED,8JAEC,qCACA,iCAGF,sDACC,gBACA,gBACA,YACA,wDACC,mEACA,WAGF,2LAGC,WAED,mEACC,iBAMH,UACC,WACA,sBACA,qBACA,2BACC,wBACA,eACA,yCACC,iBACA,yBACA,sBACA,8CACA,oCACA,0CACA,oBACA,mBACA,gDACC,wBAIH,yBACC,UACA,4BACC,YACA,kBACA,kBACA,+BACA,eACA,oCACA,8BACC,mBACA,gBACA,uBACA,YACA,sBACA,uBACA,SACA,eACA,eACA,2BACA,yBACA,sBACA,qBACA,iBACA,oBACA,mBACA,0CACA,yBACA,sCACC,YACA,4CACA,4BACA,2BACA,eACA,gBACA,cACA,WACA,sBACA,kBAGF,sCACC,6BAED,qCACC,8CACA,6BACA,6CACC,mBAQL,mBACC,cACA,WACA,UACA,cACA,8CACA,mCACA,gBACA,WACA,gBAEC,2CACC,8BAED,gDACC,8BAGF,yCACC,yBAED,sCACC,mCACA,wCACA,iCAED,2CACC,mCACA,wCACA,iCAKF,iBACC,QAEC,0BAED,QAEC,yBAED,YAGC,0BAED,QAEC,0BAIF,OACC,qBACA,uBACA,mCAKD,cACC,kBACA,4BACA,aACA,UACA,WACA,gBAWD,cAJC,oCACA,mCAOD,wBARC,oCACA,mCAWD,4BAZC,oCACA,mCEl3BD;AAAA;AAAA;AAAA;AAAA,GAYA,cACC,kBACA,gBACA,aACA,WACA,uBACA,aACA,aACA,eACA,SAEA,2BACC,yBAKF,QAEC,yBACA,sBACA,qBACA,iBAGA,2BACC,oBACA,kBACA,MACA,WACA,aACA,4BACA,sBACA,8BAID,mBACC,cACA,0BACA,kBACA,iDACA,sBACA,UACA,mBACA,aACA,eACA,gBACA,WAEA,mDACC,UAID,yBACC,oBACA,yFACA,4BACA,wBACA,2BACA,WACA,kBACA,wBACA,QACA,WAEA,gFAMF,iIAGC,aAEA,sJACC,YACA,kBACA,oBACA,2BACA,WACA,WACA,kBACA,oDACA,uBACA,UAOF,sBACC,oBACA,mBACA,SACA,mBACA,YAKD,oBACC,oBACA,mBACA,yBACA,cAEA,uDAIA,iDAEC,YACA,kBACA,yEACC,aACA,uBACA,mBACA,2BACA,sCACA,eACA,YACA,UACA,aAEA,qFACC,UAGD,qGACC,aAIF,6DACC,8CACA,sDACA,yCACA,sBACA,aACA,kBACA,gBAvJH,mDACA,+EAwJG,qBACA,yBACA,SACA,gBAEA,iGACC,aAID,yEACC,gCACA,iDACA,YACA,YACA,SACA,QACA,kBACA,oBACA,sBAGD,wIAEC,iCAjLJ,mDACA,+EAsLG,mFACC,mBACA,eAED,sNAEC,qBACA,YACA,WAQJ,wBACC,yCACA,eACA,iBACA,SACA,UACA,uBACA,gBACA,uBAEA,cAGA,qCACC,aACA,sBACA,gBAEA,mDACC,gBACA,uBAGD,uDACC,yCACA,kBACA,gBACA,iCACA,mCACA,gBACA,uBAMJ,8DACC,2BACC,wBAGD,sBACC,wCAGD,MAEC,uGF7PF;AAAA;AAAA;AAAA;AAAA,GHQA,iCACC,4BACA,2BACA,eACA,gBAGD,iBACC,kDAID,sGAMC,kBACA,0IACC,UACA,WACA,YACA,WACA,uBACA,kBACA,QACA,uBACA,mBACA,6CACA,qCACA,gCACA,4BACA,wBACA,4CACA,2CAEA,wCAEA,gYAGC,uCAKH,wDAEC,2CACA,4CAGD,yDAEC,YACA,WACA,qBAKA,yJACC,2CAED,iMACC,gDAED,yMACC,iDAED,iPACC,sDAIF,kBACC,KACC,uBAED,GACC,0BAIF,SACC,gCAGD,yKAQC,wDGzGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GGSA,sCAEC,MACC,wCACA,yCAKF,KACC,WACA,YACA,kBAEA,6EAGD,KAEC,6EAEA,yCACA,sBACA,2BACA,eACA,WACA,iDAKD,eAKC,gBACA,gBACA,gBACA,mBACA,6BAGD,GACC,gBAGD,GACC,gBAGD,GACC,gBAGD,GACC,iBAGD,GACC,gBAID,GACC,kBACA,oCAGD,GACC,eAGD,MAEC,qBACA,aACA,uBAGD,GACC,YACA,mBACA,eAGD,IACC,iBACA,sBACA,kCACA,mCACA,qBACA,mBAMD,wBACC,sBAKD,0BAEC,gGACA,MLxBkB,MKyBlB,YACA,gBACA,kBACA,mDACA,8CACA,+EACA,gBACA,YACA,sBACA,qBACA,iBACA,aACA,sBACA,YACA,cAEA,kDACC,iBACA,0CACA,2EACA,mBACA,uBACA,2BACA,iBACA,oBACA,yBAQD,gGACC,cACA,6CACA,8GACC,qBACA,WACA,aACA,0BACA,iBACA,SAIF,8DACC,kBAED,8DACC,kBACA,YACA,WACA,kBACA,gBACA,sBACA,aACA,sBACA,6CACA,iBAEA,oFACC,oDAGD,oEACC,oBACA,eACA,QACA,cACA,SACA,kBACA,WACA,2CAGA,kFACC,QACA,4GACC,2BAIF,gIAEC,8DAED,0HAIC,0EAKA,wVAEC,+CAGF,oGACC,kDACA,yCAMA,gsBAEC,8CACA,wCAEA,g8BACC,qCAMH,sHACC,wBACA,SAMA,kNAEC,aAKF,0EACC,cACA,WACA,kBACA,gFACC,oBACA,eACA,mDACA,WACA,kBAIC,wXAEC,2CACA,+CAKD,gZAEC,2CACA,oDACA,ghBACC,qCAMH,kIACC,yDAGD,4IAEC,wBACA,0BAGD,sIAEC,wBAGA,6EAMJ,oJAEC,kBACA,sBAGC,4jBAGC,oCAIF,4JACC,0BACA,4BACA,cACA,8BACA,0CACA,yCACA,gBACA,oDACA,gBACA,sBACA,mBACA,uBACA,2CACA,6BACA,aACA,YAGA,4KACC,gBACA,kDACA,wOACC,gBACA,6DAGF,4NACC,kEACA,WACA,YAEA,wCAID,4QACC,qBAEA,4ZACC,gCAKH,wQACC,kBACA,cACA,YACA,WACA,YACA,YACA,kBACA,eACA,wCAEA,gRAEC,oCAKF,gQACC,kCAID,gSACC,UACA,YAED,4SACC,wBACA,YAIH,sEACC,aAMD,4YAEC,SACA,WACA,+BACA,4BACA,2BACA,w0BAEC,+BACA,UAUD,sGACC,UACA,kBACA,oCACA,qCACA,SACA,YAIA,qBAEA,kIACC,UACA,eACA,wDACA,gBAGF,gGACC,kBACA,qCACA,oCACA,SACA,UACA,gBFjZF,6CEmZE,qBACA,4BACA,2BACA,YACA,wBACA,gBACA,YACA,UACA,iCACA,6BACA,yBACA,YACA,kBACA,qCAMD,8GACC,mDAIA,wNACC,UAED,oMACC,sBAED,gTACC,oCAID,0GACC,4BACA,wBACA,oBAQH,gHACC,cACA,sHACC,wBACA,mBACA,yBAED,sHACC,+CACA,qCAED,8HACC,YACA,WACA,SACA,gBAIA,oSFpdF,uCEudE,obAEC,+BACA,UAGF,wLACC,gBACA,eACA,cACA,0CACA,eAEA,gNACC,UACA,kBACA,0NACC,gBACA,mBACA,8CACA,wCASJ,8GACC,mBACA,cACA,uBACA,qCACA,UACA,kBACA,8CACA,WACA,8OAEC,oBACA,WAED,0HACC,YACA,oBACA,YACA,4QAGC,UAGF,gJACC,WACA,YACA,wBACA,0BAED,wRAEC,WACA,YACA,cACA,4VACC,2BAED,gWACC,yBAED,oUACC,2CACA,6CACA,0BACA,4BAQH,oHACC,oBACA,mDACA,4BACA,wMACC,kBACA,mBACA,uBACA,gBACA,aACA,0CAED,8LACC,SACA,qCACA,oCACA,0CACA,oZAEC,UAQH,kOAEC,uBACA,2FAGA,kBACA,qBACA,8CACA,sBAMD,sFACC,gDACA,wCACA,oBAGD,sEACC,yBAGD,0OAEC,qBASA,0IACC,qCAGD,gHACC,qCAEA,wKACC,YASF,0IACC,sCAGD,gHACC,sCAEA,wKACC,WAOJ,SACC,sBACA,gBACA,oCACA,gCACA,UACA,aACA,kDACA,0BACA,2CACA,cAEA,kCACC,eAIF,2CACC,SACC,qDACA,mDAED,gBACC,qDAED,aACC,oDAcF,aACC,aACA,8CACA,iBACA,cACA,iBACA,YAGA,kCACC,gBAID,kCACC,aACA,kBACA,oBAGA,gBAGA,uDAEC,eACA,mFACC,aAKH,uCACC,oCASF,aACC,WACA,UL/qBmB,MKgrBnB,UL/qBmB,MKgrBnB,cACA,wBACA,gBACA,ILtrBe,KKurBf,mBACA,gBACA,kBACA,aACA,aACA,0BACA,wCACA,kDACA,cAEA,uBACC,aAOF,cAEC,gBAGC,oFACC,cAKH,sBACC,aACA,6CACA,cACA,0DAEA,iBACA,gBACA,sBAGA,uCACC,UAGD,iCACC,sBACA,sBACA,gCAOE,4NACC,qBACA,WACA,cAOL,qBACC,sBACA,+BACA,gBACA,oDACA,6CACA,cAEA,sCACC,aACA,mBACA,qCACA,WACA,UACA,SACA,+BACA,gBACA,SACA,oDACA,iBACA,mBACA,eACA,WAGA,6BAEA,6CACC,yCACA,8CACA,eAED,wFAEC,+CAGD,8CACC,2CACA,4BACA,WACA,oCACA,qCACA,MACA,qBACA,cAGD,oDACC,mEAOF,4DACC,qCAED,kEACC,qCAKD,4DACC,sCAED,kEACC,sCAIF,SACC,cACA,aACA,mBACA,gBACC,wBAIA,yDAEC,oBACA,sBAKH,aACC,kBACA,gBACA,yBACA,mBAGD,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAKF,YACC,aACA,mBAEA,uBACC,aACA,sBACA,YACA,kBACA,mBACA,gBACA,uBACA,eACA,gCACA,kBACA,YAEA,8BACC,aAID,mCACC,0BAED,kCACC,wBAGD,6BACC,qBACA,WACA,YACA,qBACA,sBACA,gBACA,sBACA,WACA,eAGD,yBACC,gCACA,kBACA,gBACA,uBAED,gCACC,iBAED,0FAGC,kBACA,6BACA,kDAMF,oBACC,oBAKF,6BACC,WAGD,6BACC,YASA,0JAGC,wCAIA,2LACC,YAKH,gDAGC,kBACA,8CACA,6BACA,yCACA,YACA,YACA,WACA,gBACA,mBACA,sDACA,aACA,mBAEA,kEACC,YAKA,qBAEA,2BACA,YACA,SACA,QACA,kBACA,oBACA,iDACA,iBAGD,oFACC,0BACA,qBACA,oBACA,sGACC,qBACA,0BAIF,8EACC,oBACA,oBACA,gGACC,sBAIF,+DACC,cAGD,+GACC,SAGD,yDAEC,wBACA,sBAED,yDACC,aACA,cAEA,8EACC,aAGD,oOAGC,eACA,YA/FkB,KAgGlB,SACA,yCACA,+BACA,aACA,uBACA,YACA,SACA,mBACA,gBACA,WACA,6BACA,mBAEA,whDAIC,YACA,aACA,+BACA,gBAnHe,KAqHhB,yzBAIC,yBAOC,gvGACC,oBAlIe,KAsIlB,+tBAEC,gCAED,ojBAEC,+CAED,4nBAEC,kDAED,mSACC,2CACA,oDAGD,mSACC,2BAED,iRACC,eACA,mBAED,sPACC,YACA,kBACA,cACA,mBAED,mSACC,SACA,wBAGD,gVACC,kCAID,wQACC,MA9Ke,KA+Kf,YAGD,uyBAEC,qBACA,WAED,yeACC,mBAED,8cACC,mBAED,2xBACC,YAED,iRACC,aACA,cAGA,mBACA,mbACC,wBAIF,04BAEC,sBAGD,0RACC,UAlNiB,KAmNjB,gBACA,aACA,cAEA,4bACC,wBAQA,2hDACC,eAMD,ygDACC,kBAKJ,8EACC,UACA,6FACC,UAcD,+EACC,MA/PiB,KAgQjB,OAhQiB,KAyQlB,6CACC,WACA,YAOJ,kBACC,wBACA,kBACA,MACA,gDACA,aACA,sBACA,uCACA,gBACA,gBACA,gBACA,kBACA,eACA,UL5sCgB,MK6sChB,UL5sCgB,MK+sChB,yCACC,kBACA,YACA,eACA,iBACA,aACA,eACA,mBACA,cAKC,8RAEC,QACA,WACA,YACA,YACA,aACA,WACA,eACA,4mBAEC,WAED,wtBAEC,WACA,ghDAEC,UAIF,kVACC,UAKH,8IAGC,8CAEA,2RACC,aAIF,6JAEC,kBACA,YACA,WACA,WAQC,2XAEC,aAEA,2eACC,WAIH,wFACC,SACA,uBAEA,aACA,gGACC,SAGD,oHACC,aAKH,qEACC,aACA,SACA,wBACA,qBACA,YACA,WACA,SACA,UAGD,qEACC,kBACA,qBACA,YACA,WACA,iBACA,kBACA,sBACA,uBACA,WACA,kBACA,gBACA,0BACA,iBACA,iBACA,eACA,QACA,iBAGD,kJAEC,cACA,yBACA,mBACA,gBACA,uBACA,QACA,aACA,eAGD,yEACC,WACA,QACA,SACA,sDAGD,wEACC,QACA,mBACA,gBACA,uBACA,gBACA,WACA,cACA,iBAGD,qEACC,QACA,kBACA,kFACC,SAGA,sBAIH,2EACC,aAIF,8CACC,6DACA,oDCt9CD;AAAA;AAAA;AAAA;AAAA;AAAA,GAcC,mDAEC,WAGD,kDAEC,YAGD,qDAEC,WAGD,oDAEC,YAKD,mDAEC,YAGD,kDAEC,WAGD,qDAEC,YAGD,oDAEC,WAIF,YACC,WAGD,QACC,aAGD,iBACC,kBACA,4BACA,aACA,UACA,WACA,gBAGD,MACC,gBAGD,QACC,kBAGD,aACC,qBCnFD;AAAA;AAAA;AAAA,GAOA,mBACC,SCRD;AAAA;AAAA;AAAA,GAMA,wCAGC,UACC,iCACA,qBAID,iBACC,wBAID,YACC,WACA,iCACA,sBAID,0BACC,6BACA,eACA,0BAGA,6BACC,wBAIF,0CACC,sBAGD,8BACC,uBACA,sBAID,kBACC,wCACA,cAEA,iBAEA,eACA,uCACC,aAED,8BACC,aACA,mDACC,gBAOF,gDACC,4BAED,qDACC,eACA,gCACA,IRiBa,KQhBb,qBACA,WACA,YACA,aACA,oCACA,eACA,WACA,wBAED,2CACC,4BAKF,uBACC,eACA,gCACA,qBACA,WACA,YACA,aACA,eACA,WAED,0DAEC,UAID,6CACC,0BAID,kDACC,kCAED,8CACC,wBAGD,wBACC,gCAID,gBACC,aAED,+BACC,6BAMF,0CACC,8BACC,6BACA,eACA,qCACC,wBAMA,0CACC,cAGF,+BACC,gCACA,iDACA,SACA,YACA,SACA,QACA,kBACA,oBACA,sBACA,aACA,aAID,wCACC,uBCpKH;AAAA;AAAA;AAAA;AAAA,GAMA,SACI,kBACA,cACA,6BACA,kBACA,mBACA,sBACA,gBACA,gBACA,iBACA,qBACA,iBACA,oBACA,mBACA,kBACA,oBACA,iBACA,uBACA,eACA,UACA,eAEA,gBACA,eACA,uDACA,8DAGI,mBACA,UACA,wBAEJ,uDAEI,uBACA,0BAEJ,8CAEI,eACA,eAEJ,4CAEI,wBACA,eACA,0EACI,QACA,qBACA,iBACA,8BACA,qDAGR,0CAEI,yBACA,cACA,wEACI,QACA,mBACA,iBACA,8BACA,uDAQJ,kPACI,SACA,yBACA,8CAGR,iCACI,sBACA,oBAEJ,kCACI,wBACA,oBAOA,0QACI,MACA,yBACA,iDAGR,4EAEI,uBACA,0BAEJ,oCACI,sBACA,iBAEJ,qCACI,wBACA,iBAIR,eACI,gBACA,gBACA,8CACA,6BACA,kBACA,mCAGJ,+BACI,kBACA,QACA,SACA,2BACA,mBCnIJ;AAAA;AAAA;AAAA,GAIA,kBACE,gBACA,gBACA,8CACA,6BACA,6CACA,eACA,gBACA,eACA,cACA,mCACA,aACA,mBACA,gBAEF,kFAEE,aACA,mBACA,WAEF,oEAEE,gBACA,gBACA,sBACA,eACA,YACA,aACA,mBACA,4BACA,2BACA,6BACA,aAEF,4FAEE,cACA,WACA,YACA,gBACA,iBACA,YAGF,4GAEE,sfACA,YACA,wCACA,qBACA,WACA,YAEF,wGAEE,WACA,wBACA,iBAEF,kPAIE,eACA,UAEF,+BACE,WAEF,mCACE,eAEF,8BACE,yCAEF,6BACE,2CAEF,gCACE,2CAEF,gCACE,2CAEF,6BACE,2CAEF,gCACE,2CAEF,8CACE,qBACA,WACA,YACA,iEACA,iBAOF,gEACE,kgBAEF,oCACC,8BACA,4BAED;AAAA;AAAA;AAAA,GAQA,iCACE,kBACA,WACA,YACA,eACA,gBACA,4BACA,wBACA,aACA,uBAGF,2CACE,mCAGF,0CACE,wCACA,kBACA,uBACD;AAAA;AAAA;AAAA,EAID,qCACE,+BAEF,wCACE,eACA,gBACA,uBACA,mBAEF,qDACE,cAEF,2DACE,sBAEF,iDACE,eACA,sBAEF,iDACE,qBAEF,6BACA,GACI,2BAEJ,IACI,6BAEJ,KACI,4BAGJ,4CACE,6BAEF,mCACE,qBACA,YACA,oIACA,2BACA,mCACA,8CAEF,2CACE,oBACA,mBAEF,iDACE,WAEF,0DACE,wBACA,YAEF,6CACE,WAEF,iDACE,WACD;AAAA;AAAA;AAAA,EAID,qCACE,+BAEF,wCACE,eACA,gBACA,uBACA,mBAEF,qDACE,cAEF,2DACE,sBAEF,iDACE,eACA,sBAEF,iDACE,qBAEF,6CACE,8CAEF,yCACE,+CAEF,8CACE,aACA,sBACA,mBACA,YAEF,yCACE,yBACA,YACA,gBACA,uBAEF,8CACE,oCACA,sBACD,8CACC,WACA,YACA,cAEF,qCACE,WACA,yBACA,qBAEF,2CACE,WACA,gBACA,mBAEF,wCACE,gBACA,UACA,MACA,8CACA,YAEF,wDACE,aAEF,qDACE,WAEF,iDACE,YAEF,iDACE,YAEF,qDACE,YAEF,4EACE,sBACA,2BAEF,mEACE,wBAEF,sEACE,oBAEF,6DACE,oCAEF,+EACE,mBACD,2CACC,uBACD,oCACC,aACA,sBACA,oBACA,UACA,gBACA,YACA,uBACA,cAEF,yDACE,sBAEF,4CACE,iBACA,gBAEF,yBACA,oCACI,mBACA,iBAGJ,yBACA,oCACI,mBACA,gBAEJ,4CACI,iBAGJ,yBACE,uBAEF,oDACE,sBAEF,0CACE,gBAEF,+CACA,yBACI,UAGJ,yBACA,yBACI,0CAEH,oCACC,YACA,aACA,sBACA,mBAEF,uCACE,iBACA,mBACA,SAEF,oCACE,sBACA,WACA,aACA,sBACA,aACA,OACA,mBAEF,sCACE,sBAEF,+BACE,kCAEF,yBACA,+BACI,qEAGJ,wCACE,aACA,sBACA,gBACD,2CACC,iBACA,oDAEF,6CACE,oDAEF,yDACE,aAEF,4CACE,uFCnZF;AAAA;AAAA;AAAA,GAIA,aACC,8DAGC,kDACC,wCAIA,wDACC,gBAED,yEACC,+BACA,2BACA,wCAEA,8OAGC,UAID,iFACC,aAED,oFACC,aAED,iGACC,YAMJ,sBACC,iEACA,uCAGD,8BACC,uCAID,kCACC,cAGD,oBACC,iBACA,mCACA,sBACA,qBACA,iBAED,+KAIC,kBAID,oBACC,eACA,oCACA,8CACA,2CACA,sBAEA,aACA,sBACA,mBACA,uBAEA,kDACA,2CACA,2CAEA,yCACC,8CAGD,sBACC,kBACA,oCACA,4CACA,WAEA,wBACC,qBACA,mCACA,iBACA,uCACA,kCACA,oCACA","file":"server.css"} \ No newline at end of file
diff --git a/core/css/server.css.map.license b/core/css/server.css.map.license
new file mode 100644
index 00000000000..0801c996d9d
--- /dev/null
+++ b/core/css/server.css.map.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/server.scss b/core/css/server.scss
new file mode 100644
index 00000000000..593556a65f8
--- /dev/null
+++ b/core/css/server.scss
@@ -0,0 +1,16 @@
+/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+@use 'styles';
+@use 'inputs';
+@use 'header';
+@use 'icons';
+@use 'apps';
+@use 'global';
+@use 'fixes';
+@use 'mobile';
+@use 'tooltip';
+// If you include .css, it will be imported as url
+@use '../../node_modules/@nextcloud/dialogs/dist/style';
+@use 'public';
diff --git a/core/css/share.css b/core/css/share.css
deleted file mode 100644
index 047bb5eba50..00000000000
--- a/core/css/share.css
+++ /dev/null
@@ -1,173 +0,0 @@
-/* Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
- This file is licensed under the Affero General Public License version 3 or later.
- See the COPYING-README file. */
-
-#dropdown {
- background: #eee;
- border-bottom-left-radius: 3px;
- border-bottom-right-radius: 3px;
- box-shadow: 0 2px 3px rgba(50, 50, 50, .4);
- display: block;
- margin-right: 0;
- position: absolute;
- right: 0;
- width: 420px;
- z-index: 500;
- padding: 16px;
-}
-
-@media only screen and (min-width: 768px) and (max-width: 990px) {
- #dropdown {
- /* this limits the dropdown to float below the sidebar for mid narrow screens */
- left: 20px;
- }
-}
-
-.shareTabView .unshare.icon-loading-small {
- margin-top: 1px;
-}
-
-.shareTabView .shareWithLoading,
-.shareTabView .linkShare .icon-loading-small {
- display: inline-block !important;
- padding-left: 10px;
-}
-.shareTabView .shareWithLoading {
- position: relative;
- right: 70px;
- top: 2px;
-}
-.shareTabView .icon-loading-small.hidden {
- display: none !important;
-}
-
-.shareTabView .avatar {
- margin-right: 8px;
- display: inline-block;
- overflow: hidden;
- vertical-align: middle;
- width: 32px;
- height: 32px;
-}
-
-#shareWithList {
- list-style-type:none;
- padding:8px;
-}
-
-#shareWithList li {
- padding-top: 10px;
- padding-bottom: 10px;
- font-weight: bold;
- line-height: 21px;
- white-space: normal;
-}
-
-#shareWithList .shareOption {
- white-space: nowrap;
- display: inline-block;
-}
-
-#shareWithList .unshare img, #shareWithList .showCruds img {
- vertical-align:text-bottom; /* properly align icons */
-}
-
-#shareWithList label input[type=checkbox]{
- margin-left: 0;
- position: relative;
-}
-#shareWithList .username{
- padding-right: 8px;
- white-space: nowrap;
- text-overflow: ellipsis;
- max-width: 254px;
- display: inline-block;
- overflow: hidden;
- vertical-align: middle;
-}
-#shareWithList li label{
- margin-right: 8px;
-}
-.shareTabView label {
- font-weight:400;
- white-space: nowrap;
-}
-
-.shareTabView input[type="checkbox"] {
- margin:0 3px 0 8px;
- vertical-align: middle;
-}
-
-a.showCruds {
- display:inline;
- opacity:.5;
-}
-
-a.unshare {
- display:inline;
- float:right;
- opacity:.5;
- padding: 10px;
- margin-top: -5px;
- margin-right: -10px;
-}
-
-#link {
- border-top:1px solid #ddd;
- padding-top:8px;
-}
-
-.shareTabView input[type="submit"] {
- margin-left: 7px;
-}
-
-.shareTabView form {
- font-size: 100%;
- margin-left: 0;
- margin-right: 0;
-}
-
-.shareTabView .error {
- color: #e9322d;
- border-color: #e9322d;
- box-shadow: 0 0 6px #f8b9b7;
-}
-
-#link #showPassword img {
- padding-left:5px;
- width:12px;
-}
-
-.reshare,#link label,
-#expiration label {
- display: inline-block;
- padding: 6px 4px;
-}
-
-a.showCruds:hover,a.unshare:hover {
- opacity:1;
-}
-
-#defaultExpireMessage, /* fix expire message going out of box */
-.reshare { /* fix shared by text going out of box */
- white-space:normal;
-}
-
-#defaultExpireMessage { /* show message on new line */
- display: block;
- padding-left: 4px;
- /* TODO: style the dropdown in a proper way - border-box, etc. */
- width: 90%;
-}
-
-.ui-autocomplete { /* limit dropdown height to 4 1/2 entries */
- max-height:103px;
- overflow-y:auto;
- overflow-x:hidden;
-}
-
-.notCreatable {
- padding-left: 12px;
- padding-top: 12px;
- color: #999;
-}
diff --git a/core/css/styles.css b/core/css/styles.css
index a1dda59a86b..14617b81b16 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -1,962 +1,8 @@
-/* Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
- This file is licensed under the Affero General Public License version 3 or later.
- See the COPYING-README file. */
-
-html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section { margin:0; padding:0; border:0; outline:0; font-weight:inherit; font-size:100%; font-family:inherit; vertical-align:baseline; cursor:default; }
-html, body { height:100%; }
-article, aside, dialog, figure, footer, header, hgroup, nav, section { display:block; }
-body { line-height:1.5; }
-table { border-collapse:separate; border-spacing:0; white-space:nowrap; }
-caption, th, td { text-align:left; font-weight:normal; }
-table, td, th { vertical-align:middle; }
-a { border:0; color:#000; text-decoration:none;}
-a, a *, input, input *, select, .button span, label { cursor:pointer; }
-ul { list-style:none; }
-
-body {
- background-color: #ffffff;
- font-weight: 400;
- font-size: .8em;
- line-height: 1.6em;
- font-family: 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif;
- color: #000;
- height: auto;
-}
-
-#body-login {
- text-align: center;
- background: #1d2d44; /* Old browsers */
- background: -moz-linear-gradient(top, #35537a 0%, #1d2d44 100%); /* FF3.6+ */
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#35537a), color-stop(100%,#1d2d44)); /* Chrome,Safari4+ */
- background: -webkit-linear-gradient(top, #35537a 0%,#1d2d44 100%); /* Chrome10+,Safari5.1+ */
- background: linear-gradient(top, #35537a 0%,#1d2d44 100%); /* W3C */
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#35537a', endColorstr='#1d2d44',GradientType=0 ); /* IE6-9 */
-}
-
-.float-spinner {
- height: 32px;
- display: none;
-}
-#body-login .float-spinner {
- margin-top: -32px;
- padding-top: 32px;
-}
-
-#nojavascript {
- position: fixed;
- top: 0;
- bottom: 0;
- height: 100%;
- width: 100%;
- z-index: 9000;
- text-align: center;
- background-color: rgba(0,0,0,0.5);
- color: #fff;
- line-height: 125%;
- font-size: 24px;
-}
-#nojavascript div {
- display: block;
- position: relative;
- width: 50%;
- top: 35%;
- margin: 0px auto;
-}
-#nojavascript a {
- color: #fff;
- border-bottom: 2px dotted #fff;
-}
-#nojavascript a:hover,
-#nojavascript a:focus {
- color: #ddd;
-}
-
-/* SCROLLING */
-::-webkit-scrollbar {
- width: 5px;
-}
-::-webkit-scrollbar-track-piece {
- background-color: transparent;
-}
-::-webkit-scrollbar-thumb {
- background: #ddd;
- border-radius: 3px;
-}
-
-/* Searchbox */
-.searchbox input[type="search"] {
- position: relative;
- font-size: 1.2em;
- padding: 3px;
- padding-left: 25px;
- background: transparent url('../img/actions/search-white.svg') no-repeat 6px center;
- color: #fff;
- border: 0;
- border-radius: 3px;
- margin-top: 9px;
- float: right;
- width: 0;
- cursor: pointer;
- -webkit-transition: all 100ms;
- transition: all 100ms;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
- opacity: .7;
-}
-.searchbox input[type="search"]:focus,
-.searchbox input[type="search"]:active,
-.searchbox input[type="search"]:valid {
- color: #fff;
- width: 155px;
- max-width: 50%;
- cursor: text;
- background-color: #112;
-}
-
-/* CONTENT ------------------------------------------------------------------ */
-#controls {
- box-sizing: border-box;
- position: fixed;
- top: 45px;
- right: 0;
- left: 0;
- height: 44px;
- width: 100%;
- padding: 0;
- margin: 0;
- background-color: rgba(255, 255, 255, .95);
- z-index: 50;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-/* position controls for apps with app-navigation */
-#app-navigation+#app-content #controls {
- left: 250px;
-}
-.viewer-mode #app-navigation+#app-content #controls {
- left: 0;
-}
-
-#controls .button,
-#controls button,
-#controls input[type='submit'],
-#controls input[type='text'],
-#controls input[type='password'],
-#controls select {
- box-sizing: border-box;
- display: inline-block;
- height: 36px;
- padding: 7px 10px
-}
-
-#controls .button.hidden {
- display: none;
-}
-
-#content {
- position: relative;
- height: 100%;
- width: 100%;
-}
-#content .hascontrols {
- margin-top: 45px;
-}
-#content-wrapper {
- position: absolute;
- height: 100%;
- width: 100%;
- overflow-x: hidden; /* prevent horizontal scrollbar */
- padding-top: 45px;
- box-sizing:border-box;
-}
-/* allow horizontal scrollbar for personal and admin settings */
-#body-settings:not(.snapjs-left) .app-settings {
- overflow-x: auto;
-}
-
-#emptycontent,
-.emptycontent {
- color: #888;
- text-align: center;
- margin-top: 100px; /* ie8 */
- margin-top: 30vh;
- width: 100%;
-}
-#emptycontent.emptycontent-search,
-.emptycontent.emptycontent-search {
- position: static;
-}
-#emptycontent h2,
-.emptycontent h2 {
- margin-bottom: 10px;
- line-height: 150%;
-}
-#emptycontent [class^="icon-"],
-.emptycontent [class^="icon-"],
-#emptycontent [class*=" icon-"],
-.emptycontent [class*=" icon-"] {
- background-size: 64px;
- height: 64px;
- width: 64px;
- margin: 0 auto 15px;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
- opacity: .4;
-}
-
-
-/* LOG IN & INSTALLATION ------------------------------------------------------------ */
-
-/* Some whitespace to the top */
-#body-login #header {
- padding-top: 100px;
-}
-#body-login {
- background-attachment: fixed; /* fix background gradient */
- height: 100%; /* fix sticky footer */
-}
-
-/* Dark subtle label text */
-#body-login p.info,
-#body-login form fieldset legend,
-#body-login #datadirContent label,
-#body-login form fieldset .warning-info,
-#body-login form input[type="checkbox"]+label {
- text-align: center;
- color: #ccc;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
- opacity: .6;
-}
-/* overrides another !important statement that sets this to unreadable black */
-#body-login form .warning input[type="checkbox"]:hover+label,
-#body-login form .warning input[type="checkbox"]:focus+label,
-#body-login form .warning input[type="checkbox"]+label {
- color: #fff !important;
-}
-
-#body-login .update h2 {
- margin: 12px 0 20px;
-}
-
-#body-login .update a {
- color: #fff;
- border-bottom: 1px solid #aaa;
-}
-
-#body-login .infogroup {
- margin-bottom: 15px;
-}
-
-#body-login p#message img {
- vertical-align: middle;
- padding: 5px;
-}
-
-#body-login div.buttons {
- text-align: center;
-}
-#body-login p.info {
- width: 22em;
- margin: 0 auto;
- padding-top: 20px;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-#body-login p.info a {
- font-weight: 600;
- padding: 13px;
- margin: -13px;
-}
-
-/* position log in button as confirm icon in right of password field */
-#body-login #submit.login {
- position: absolute;
- right: 0;
- top: 0;
- border: none;
- background-color: transparent;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
- opacity: .3;
-}
-#body-login #submit.login:hover,
-#body-login #submit.login:focus {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
- opacity: .7;
-}
-#body-login input[type="password"] {
- padding-right: 40px;
- box-sizing: border-box;
- min-width: 269px;
-}
-
-#body-login form {
- position: relative;
- width: 280px;
- margin: 32px auto;
- padding: 0;
-}
-#body-login form fieldset {
- margin-bottom: 20px;
- text-align: left;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-#body-login form #sqliteInformation {
- margin-top: -20px;
- margin-bottom: 20px;
-}
-#body-login form #adminaccount {
- margin-bottom: 15px;
-}
-#body-login form fieldset legend, #datadirContent label {
- width: 100%;
-}
-#body-login #datadirContent label {
- display: block;
- margin: 0;
-}
-#body-login form #datadirField legend {
- margin-bottom: 15px;
-}
-#body-login #showAdvanced {
- padding: 13px; /* increase clickable area of Advanced dropdown */
-}
-#body-login #showAdvanced img {
- vertical-align: bottom; /* adjust position of Advanced dropdown arrow */
- margin-left: -4px;
-}
-#body-login .icon-info-white {
- padding: 10px;
-}
-
-/* strengthify wrapper */
-#body-login .strengthify-wrapper {
- display: inline-block;
- position: relative;
- left: 15px;
- top: -21px;
- width: 252px;
-}
-
-/* tipsy for the strengthify wrapper looks better with following font settings */
-#body-login .tipsy-inner {
- font-weight: bold;
- color: #ccc;
-}
-
-/* General new input field look */
-#body-login input[type="text"],
-#body-login input[type="password"],
-#body-login input[type="email"] {
- border: none;
- font-weight: 300;
-}
-
-/* Nicely grouping input field sets */
-.grouptop,
-.groupmiddle,
-.groupbottom {
- position: relative;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-#body-login .grouptop input,
-.grouptop input {
- margin-bottom: 0;
- border-bottom: 0;
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
-}
-#body-login .groupmiddle input,
-.groupmiddle input {
- margin-top: 0;
- margin-bottom: 0;
- border-top: 0;
- border-bottom: 0;
- border-radius: 0;
- box-shadow: 0 1px 0 rgba(0,0,0,.1) inset !important;
-}
-#body-login .groupbottom input,
-.groupbottom input {
- margin-top: 0;
- border-top: 0;
- border-top-right-radius: 0;
- border-top-left-radius: 0;
- box-shadow: 0 1px 0 rgba(0,0,0,.1) inset !important;
-}
-#body-login .groupbottom input[type=submit] {
- box-shadow: none !important;
-}
-
-/* keep the labels for screen readers but hide them since we use placeholders */
-label.infield {
- display: none;
-}
-
-#body-login form input[type="checkbox"]+label {
- position: relative;
- margin: 0;
- padding: 14px;
- padding-left: 28px;
- vertical-align: middle;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-html.ie8 #body-login form input[type="checkbox"]+label {
- margin-left: -28px;
- margin-top: -3px;
- vertical-align: auto;
-}
-html.ie8 #body-login form input[type="checkbox"] {
- margin-top: 5px;
-}
-#body-login form .errors { background:#fed7d7; border:1px solid #f00; list-style-indent:inside; margin:0 0 2em; padding:1em; }
-#body-login .success { background:#d7fed7; border:1px solid #0f0; width: 35%; margin: 30px auto; padding:1em; text-align: center;}
-
-#body-login #remember_login:hover+label,
-#body-login #remember_login:focus+label {
- color: #fff !important;
-}
-
-#body-login #showAdvanced > img {
- padding: 4px;
- box-sizing: border-box;
-}
-
-#body-login p.info a, #body-login #showAdvanced {
- color: #ccc;
-}
-
-#body-login p.info a:hover, #body-login p.info a:focus {
- color: #fff;
-}
-
-
-#body-login footer .info {
- white-space: nowrap;
-}
-
-/* Show password toggle */
-#show, #dbpassword {
- position: absolute;
- right: 1em;
- top: .8em;
- float: right;
-}
-#show, #dbpassword, #personal-show {
- display: none;
-}
-#show + label, #dbpassword + label {
- right: 21px;
- top: 15px !important;
- margin: -14px !important;
- padding: 14px !important;
-}
-#show:checked + label, #dbpassword:checked + label, #personal-show:checked + label {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
- opacity: .8;
-}
-#show + label, #dbpassword + label, #personal-show + label {
- position: absolute !important;
- height: 20px;
- width: 24px;
- background-image: url('../img/actions/toggle.svg');
- background-repeat: no-repeat;
- background-position: center;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
- opacity: .3;
-}
-#show + label:before, #dbpassword + label:before, #personal-show + label:before {
- display: none;
-}
-#pass2, input[name="personal-password-clone"] {
- padding: .6em 2.5em .4em .4em;
- width: 8em;
-}
-#personal-show + label {
- height: 14px;
- margin-top: 14px;
- margin-left: -36px;
-}
-#passwordbutton {
- margin-left: .5em;
-}
-
-/* Database selector */
-#body-login form #selectDbType { text-align:center; white-space: nowrap; }
-#body-login form #selectDbType .info {
- white-space: normal;
-}
-#body-login form #selectDbType label {
- position:static; margin:0 -3px 5px; padding:.4em;
- font-size:12px; background:#f8f8f8; color:#888; cursor:pointer;
- border: 1px solid #ddd;
-}
-#body-login form #selectDbType label.ui-state-hover, #body-login form #selectDbType label.ui-state-active { color:#000; background-color:#e8e8e8; }
-
-
-/* Warnings and errors are the same */
-#body-login .warning,
-#body-login .update,
-#body-login .error {
- display: block;
- padding: 10px;
- background-color: rgba(0,0,0,.3);
- color: #fff;
- text-align: left;
- border-radius: 3px;
- cursor: default;
-}
-
-#body-login .update {
- width: inherit;
- text-align: center;
-}
-
-#body-login .update .appList {
- list-style: disc;
- text-align: left;
- margin-left: 25px;
- margin-right: 25px;
-}
-
-#body-login .v-align {
- width: inherit;
-}
-
-#body-login .update img.float-spinner {
- float: left;
-}
-
-#body-user .warning, #body-settings .warning {
- margin-top: 8px;
- padding: 5px;
- background: #fdd;
- border-radius: 3px;
-}
-
-.warning legend,
-.warning a,
-.error a {
- color: #fff !important;
- font-weight: 600 !important;
-}
-.error a.button {
- color: #555 !important;
- display: inline-block;
- text-align: center;
-}
-.error pre {
- white-space: pre-wrap;
- text-align: left;
-}
-
-.error-wide {
- width: 700px;
- margin-left: -200px !important;
-}
-
-.error-wide .button {
- color: black !important;
-}
-
-.warning-input {
- border-color: #ce3702 !important;
-}
-
-/* Fixes for log in page, TODO should be removed some time */
-#body-login .update,
-#body-login .error {
- margin: 35px auto;
-}
-#body-login .warning {
- margin: 0 7px 5px 4px;
-}
-#body-login .warning legend {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
- opacity: 1;
-}
-#body-login a.warning {
- cursor: pointer;
-}
-
-/* fixes for update page TODO should be fixed some time in a proper way */
-/* this is just for an error while updating the ownCloud instance */
-#body-login .updateProgress .error {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-/* Alternative Logins */
-#alternative-logins legend { margin-bottom:10px; }
-#alternative-logins li { height:40px; display:inline-block; white-space:nowrap; }
-
-/* Log in and install button */
-#body-login input {
- font-size: 20px;
- margin: 5px;
- padding: 11px 10px 9px;
-}
-#body-login input[type="text"],
-#body-login input[type="password"] {
- width: 249px;
-}
-#body-login input.login {
- width: auto;
- float: right;
-}
-#body-login input[type="submit"] {
- padding: 10px 20px; /* larger log in and installation buttons */
-}
-#remember_login {
- margin: 18px 5px 0 16px !important;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
- opacity: .7;
-}
-#body-login .remember-login-container {
- margin-top: 10px;
- text-align: center;
-}
-
-/* Sticky footer */
-#body-login .wrapper {
- min-height: 100%;
- margin: 0 auto -70px;
- width: 300px;
-}
-#body-login footer, #body-login .push {
- height: 70px;
-}
-
-/* round profile photos */
-.avatar,
-.avatar img,
-.avatardiv,
-.avatardiv img {
- border-radius: 50%;
-}
-td.avatar {
- border-radius: 0;
-}
-
-
-#notification-container {
- position: absolute;
- top: 0;
- width: 100%;
- text-align: center;
-}
-#notification {
- margin: 0 auto;
- max-width: 60%;
- z-index: 8000;
- background-color: #fc4;
- border: 0;
- padding: 1px 8px;
- display: none;
- position: relative;
- top: 0;
- border-bottom-left-radius: 3px;
- border-bottom-right-radius: 3px;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
- opacity: .9;
-}
-#notification span {
- cursor: pointer;
- margin-left: 1em;
-}
-#notification {
- overflow-x: hidden;
- overflow-y: auto;
- max-height: 100px;
-}
-#notification .row {
- position: relative;
-}
-#notification .row .close {
- display: inline-block;
- vertical-align: middle;
- position: absolute;
- right: 0;
- top: 0;
-}
-#notification .row.closeable {
- padding-right: 20px;
-}
-
-tr .action:not(.permanent),
-.selectedActions a {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
- opacity: 0;
-}
-tr:hover .action,
-tr:focus .action,
-tr .action.permanent,
-.selectedActions a {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
- opacity: .5;
-}
-tr .action {
- width: 16px;
- height: 16px;
-}
-.header-action {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
- opacity: .8;
-}
-tr:hover .action:hover,
-tr:focus .action:focus,
-.selectedActions a:hover,
-.selectedActions a:focus,
-.header-action:hover,
-.header-action:focus {
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
- opacity: 1;
-}
-tbody tr:hover,
-tbody tr:focus,
-tbody tr:active {
- background-color: #f8f8f8;
-}
-
-code { font-family:"Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", monospace; }
-
-#quota {
- cursor: default;
- margin: 30px !important;
- position: relative;
- padding: 0 !important;
-}
-#quota div {
- padding: 0;
- background-color: rgb(220,220,220);
- font-weight: normal;
- white-space: nowrap;
- border-bottom-left-radius: 3px;
- border-top-left-radius: 3px;
- min-width: 1%;
- max-width: 100%;
-}
-#quotatext {padding:.6em 1em;}
-
-#quota div.quota-warning {
- background-color: #fc4;
-}
-
-.pager { list-style:none; float:right; display:inline; margin:.7em 13em 0 0; }
-.pager li { display:inline-block; }
-
-.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { overflow:hidden; text-overflow:ellipsis; }
-.separator { display:inline; border-left:1px solid #d3d3d3; border-right:1px solid #fff; height:10px; width:0px; margin:4px; }
-
-a.bookmarklet { background-color:#ddd; border:1px solid #ccc; padding:5px;padding-top:0px;padding-bottom:2px; text-decoration:none; margin-top:5px }
-
-.exception{color:#000;}
-.exception textarea{width:95%;height:200px;background:#ffe;border:0;}
-
-.ui-icon-circle-triangle-e{ background-image:url('../img/actions/play-next.svg'); }
-.ui-icon-circle-triangle-w{ background-image:url('../img/actions/play-previous.svg'); }
-
-.ui-datepicker-prev,.ui-datepicker-next{ border:1px solid #ddd; background:#fff; }
-
-/* ---- DIALOGS ---- */
-#oc-dialog-filepicker-content .dirtree {width:92%; overflow:hidden; }
-#oc-dialog-filepicker-content .dirtree .home {
- background-image:url('../img/places/home.svg');
- background-repeat:no-repeat;
- background-position: left center;
- width: 30px;
- display: inline-block;
-}
-#oc-dialog-filepicker-content .dirtree span:not(:last-child) { cursor: pointer; }
-#oc-dialog-filepicker-content .dirtree span:last-child { font-weight: bold; }
-#oc-dialog-filepicker-content .dirtree span:not(:last-child)::after { content: '>'; padding: 3px;}
-#oc-dialog-filepicker-content .filelist {
- overflow-y:auto;
- height: 300px;
- background-color:white;
- width:100%;
-}
-#oc-dialog-filepicker-content .filelist li {
- position: relative;
-}
-#oc-dialog-filepicker-content .filelist .filename {
- position: absolute;
- top: 8px;
- max-width: 60%;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-#oc-dialog-filepicker-content .filelist img {
- margin: 2px 1em 0 4px;
- width: 32px;
-}
-#oc-dialog-filepicker-content .filelist .date {
- float: right;
- margin-right: 10px;
- margin-top: 0;
- padding-top: 9px;
-}
-#oc-dialog-filepicker-content .filepicker_element_selected { background-color:lightblue;}
-.ui-dialog {position:fixed !important;}
-span.ui-icon {float: left; margin: 3px 7px 30px 0;}
-
-.loading { background: url('../img/loading.gif') no-repeat center; cursor: wait; }
-.loading-small { background: url('../img/loading-small.gif') no-repeat center; cursor: wait; }
-.move2trash { /* decrease spinner size */
- width: 16px;
- height: 16px;
-}
-
-/* ---- TOOLTIPS ---- */
-.extra-data {
- padding-right: 5px !important;
-}
-.tipsy-inner {
- max-width: 400px !important;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-/* ---- TAGS ---- */
-#tagsdialog .content {
- width: 100%; height: 280px;
-}
-#tagsdialog .scrollarea {
- overflow:auto; border:1px solid #ddd;
- width: 100%; height: 240px;
-}
-#tagsdialog .bottombuttons {
- width: 100%; height: 30px;
-}
-#tagsdialog .bottombuttons * { float:left;}
-#tagsdialog .taglist li { background:#f8f8f8; padding:.3em .8em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; -webkit-transition:background-color 500ms; transition:background-color 500ms; }
-#tagsdialog .taglist li:hover, #tagsdialog .taglist li:active { background:#eee; }
-#tagsdialog .addinput { width: 90%; clear: both; }
-
-/* ---- APP SETTINGS - LEGACY, DO NOT USE THE POPUP! ---- */
-.popup {
- background-color: #fff;
- border-radius: 3px;
- box-shadow: 0 0 10px #aaa;
- color: #333;
- padding: 10px;
- position: fixed !important;
- z-index: 100;
-}
-.popup.topright { top:7em; right:1em; }
-.popup.bottomleft { bottom:1em; left:33em; }
-.popup .close { position:absolute; top:0.2em; right:0.2em; height:20px; width:20px; background:url('../img/actions/close.svg') no-repeat center; }
-.popup h2 { font-size:20px; }
-.arrow { border-bottom:10px solid white; border-left:10px solid transparent; border-right:10px solid transparent; display:block; height:0; position:absolute; width:0; z-index:201; }
-.arrow.left { left:-13px; bottom:1.2em; -webkit-transform:rotate(270deg); -ms-transform:rotate(270deg); transform:rotate(270deg); }
-.arrow.up { top:-8px; right:6px; }
-.arrow.down { -webkit-transform:rotate(180deg); -ms-transform:rotate(180deg); transform:rotate(180deg); }
-
-
-/* ---- BREADCRUMB ---- */
-div.crumb {
- float: left;
- display: block;
- background: url('../img/breadcrumb.svg') no-repeat right center;
- height: 44px;
- background-size: auto 24px;
-}
-div.crumb.hidden {
- display: none;
-}
-div.crumb a,
-div.crumb span {
- position: relative;
- top: 12px;
- padding: 14px 24px 14px 17px;
- color: #555;
-}
-div.crumb:first-child a {
- position: relative;
- top: 13px;
-}
-div.crumb.last {
- font-weight: 600;
- margin-right: 10px;
-}
-div.crumb a.ellipsislink {
- padding: 0 !important;
- position: relative;
- top: 8px !important;
-}
-
-/* some feedback for hover/tap on breadcrumbs */
-div.crumb:hover,
-div.crumb:focus,
-div.crumb a:focus,
-div.crumb:active {
- -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
- opacity:.7;
-}
-
-.appear {
- opacity: 1;
- transition: opacity 500ms ease 0s;
- -moz-transition: opacity 500ms ease 0s;
- -ms-transition: opacity 500ms ease 0s;
- -o-transition: opacity 500ms ease 0s;
- -webkit-transition: opacity 500ms ease 0s;
-}
-.appear.transparent {
- opacity: 0;
-}
-
-
-/* public footer */
-#body-public footer {
- position: relative;
- text-align: center;
-}
-
-#body-public footer .info {
- color: #777;
- text-align: center;
- margin: 0 auto;
- padding: 20px 0;
-}
-
-#body-public footer .info a {
- color: #777;
- font-weight: 600;
- padding: 13px;
- margin: -13px;
-}
-
-
-/* LEGACY FIX only - do not use fieldsets for settings */
-fieldset.warning legend, fieldset.update legend {
- top: 18px;
- position: relative;
-}
-fieldset.warning legend + p, fieldset.update legend + p {
- margin-top: 12px;
-}
-
-
-/* for IE10 */
-@-ms-viewport {
- width: device-width;
-}
-
-/* hidden input type=file field */
-.hiddenuploadfield {
- width: 0;
- height: 0;
- opacity: 0;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-}
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */:root{font-size:var(--default-font-size);line-height:var(--default-line-height)}html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,dialog,figure,footer,header,hgroup,nav,section,main{margin:0;padding:0;border:0;font-weight:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;cursor:default;scrollbar-color:var(--color-scrollbar)}.js-focus-visible :focus:not(.focus-visible){outline:none}.content:not(#content-vue) :focus-visible{box-shadow:inset 0 0 0 2px var(--color-primary-element);outline:none}html,body{height:100%;overscroll-behavior-y:contain}article,aside,dialog,figure,footer,header,hgroup,nav,section{display:block}table{border-collapse:separate;border-spacing:0;white-space:nowrap}caption,th,td{text-align:start;font-weight:normal}table,td,th{vertical-align:middle}a{border:0;color:var(--color-main-text);text-decoration:none;cursor:pointer}a *{cursor:pointer}a.external{margin:0 3px;text-decoration:underline}input{cursor:pointer}input *{cursor:pointer}select,.button span,label{cursor:pointer}ul{list-style:none}body{font-weight:normal;font-size:var(--default-font-size);line-height:var(--default-line-height);font-family:var(--font-face);color:var(--color-main-text)}.two-factor-header{text-align:center}.two-factor-provider{text-align:center;width:100% !important;display:inline-block;margin-bottom:0 !important;background-color:var(--color-background-darker) !important;border:none !important}.two-factor-link{display:inline-block;padding:12px;color:var(--color-text-lighter)}.float-spinner{height:32px;display:none}#nojavascript{position:fixed;top:0;bottom:0;inset-inline-start:0;height:100%;width:100%;z-index:9000;text-align:center;background-color:var(--color-background-darker);color:var(--color-primary-element-text);line-height:125%;font-size:24px}#nojavascript div{display:block;position:relative;width:50%;top:35%;margin:0px auto}#nojavascript a{color:var(--color-primary-element-text);border-bottom:2px dotted var(--color-main-background)}#nojavascript a:hover,#nojavascript a:focus{color:var(--color-primary-element-text-dark)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}::-webkit-scrollbar-track-piece{background-color:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:var(--border-radius-large);border:2px solid rgba(0,0,0,0);background-clip:content-box}::selection{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}#app-navigation *{box-sizing:border-box}#emptycontent,.emptycontent{color:var(--color-text-maxcontrast);text-align:center;margin-top:30vh;width:100%}#app-sidebar #emptycontent,#app-sidebar .emptycontent{margin-top:10vh}#emptycontent .emptycontent-search,.emptycontent .emptycontent-search{position:static}#emptycontent h2,.emptycontent h2{margin-bottom:10px}#emptycontent [class^=icon-],#emptycontent [class*=icon-],.emptycontent [class^=icon-],.emptycontent [class*=icon-]{background-size:64px;height:64px;width:64px;margin:0 auto 15px}#emptycontent [class^=icon-]:not([class^=icon-loading]),#emptycontent [class^=icon-]:not([class*=icon-loading]),#emptycontent [class*=icon-]:not([class^=icon-loading]),#emptycontent [class*=icon-]:not([class*=icon-loading]),.emptycontent [class^=icon-]:not([class^=icon-loading]),.emptycontent [class^=icon-]:not([class*=icon-loading]),.emptycontent [class*=icon-]:not([class^=icon-loading]),.emptycontent [class*=icon-]:not([class*=icon-loading]){opacity:.4}#datadirContent label{width:100%}.grouptop,.groupmiddle,.groupbottom{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#show,#dbpassword{position:absolute;inset-inline-end:1em;top:.8em;float:right}body[dir=rtl] #show,body[dir=rtl] #dbpassword{float:left}#show+label,#dbpassword+label{inset-inline-end:21px;top:15px !important;margin:-14px !important;padding:14px !important}#show:checked+label,#dbpassword:checked+label,#personal-show:checked+label{opacity:.8}#show:focus-visible+label,#dbpassword-toggle:focus-visible+label,#personal-show:focus-visible+label{box-shadow:var(--color-primary-element) 0 0 0 2px;opacity:1;border-radius:9999px}#show+label,#dbpassword+label,#personal-show+label{position:absolute !important;height:20px;width:24px;background-image:var(--icon-toggle-dark);background-repeat:no-repeat;background-position:center;opacity:.3}#show:focus+label,#dbpassword:focus+label,#personal-show:focus+label{opacity:1}#show+label:hover,#dbpassword+label:hover,#personal-show+label:hover{opacity:1}#show+label:before,#dbpassword+label:before,#personal-show+label:before{display:none}#pass2,input[name=personal-password-clone]{padding-inline-end:30px}.personal-show-container{position:relative;display:inline-block;margin-inline-end:6px}#personal-show+label{display:block;inset-inline-end:0;margin-top:-43px;margin-inline-end:-4px;padding:22px}#body-user .warning,#body-settings .warning{margin-top:8px;padding:5px;border-radius:var(--border-radius);color:var(--color-main-text);background-color:rgba(var(--color-warning-rgb), 0.2)}.warning legend,.warning a{font-weight:bold !important}.error:not(.toastify) a{color:#fff !important;font-weight:bold !important}.error:not(.toastify) a.button{color:var(--color-text-lighter) !important;display:inline-block;text-align:center}.error:not(.toastify) pre{white-space:pre-wrap;text-align:start}.error-wide{width:700px;margin-inline-start:-200px !important}.error-wide .button{color:#000 !important}.warning-input{border-color:var(--color-error) !important}.avatar,.avatardiv{border-radius:50%;flex-shrink:0}.avatar>img,.avatardiv>img{border-radius:50%;flex-shrink:0}td.avatar{border-radius:0}tr .action:not(.permanent),.selectedActions>a{opacity:0}tr .action{width:16px;height:16px}tr:hover .action:hover,tr:focus .action:focus{opacity:1}tr:hover .action:not(.menuitem),tr:focus .action:not(.menuitem),tr .action.permanent:not(.menuitem){opacity:.5}.selectedActions>a{opacity:.5;position:relative;top:2px}.selectedActions>a:hover,.selectedActions>a:focus{opacity:1}.selectedActions a:hover,.selectedActions a:focus{opacity:1}.header-action{opacity:.8}.header-action:hover,.header-action:focus{opacity:1}tbody tr:not(.group-header):hover,tbody tr:not(.group-header):focus,tbody tr:not(.group-header):active{background-color:var(--color-background-dark)}code{font-family:"Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono",monospace}.pager{list-style:none;float:right;display:inline;margin:.7em 13em 0 0}.pager li{display:inline-block}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{overflow:hidden;text-overflow:ellipsis}.ui-icon-circle-triangle-e{background-image:url("../img/actions/play-next.svg?v=1")}.ui-icon-circle-triangle-w{background-image:url("../img/actions/play-previous.svg?v=1")}.ui-widget.ui-datepicker{margin-top:10px;padding:4px 8px;width:auto;border-radius:var(--border-radius);border:none;z-index:1600 !important}.ui-widget.ui-datepicker .ui-state-default,.ui-widget.ui-datepicker .ui-widget-content .ui-state-default,.ui-widget.ui-datepicker .ui-widget-header .ui-state-default{border:1px solid rgba(0,0,0,0);background:inherit}.ui-widget.ui-datepicker .ui-widget-header{padding:7px;font-size:13px;border:none;background-color:var(--color-main-background);color:var(--color-main-text)}.ui-widget.ui-datepicker .ui-widget-header .ui-datepicker-title{line-height:1;font-weight:normal}.ui-widget.ui-datepicker .ui-widget-header .ui-icon{opacity:.5}.ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e,.ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background-position:center center;background-repeat:no-repeat}.ui-widget.ui-datepicker .ui-widget-header .ui-state-hover .ui-icon{opacity:1}.ui-widget.ui-datepicker .ui-datepicker-calendar th{font-weight:normal;color:var(--color-text-lighter);opacity:.8;width:26px;padding:2px}.ui-widget.ui-datepicker .ui-datepicker-calendar tr:hover{background-color:inherit}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a:not(.ui-state-hover){background-color:var(--color-background-darker)}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a.ui-state-active,.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-state-hover,.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-state-focus{background-color:var(--color-primary-element);color:var(--color-primary-element-text);font-weight:bold}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-week-end:not(.ui-state-disabled) :not(.ui-state-hover),.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-priority-secondary:not(.ui-state-hover){color:var(--color-text-lighter);opacity:.8}body[dir=ltr] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:url("../img/actions/arrow-right.svg")}body[dir=ltr] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:url("../img/actions/arrow-left.svg")}body[dir=rtl] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:url("../img/actions/arrow-left.svg")}body[dir=rtl] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:url("../img/actions/arrow-right.svg")}.ui-datepicker-prev,.ui-datepicker-next{border:var(--color-border-dark);background:var(--color-main-background)}.ui-widget.ui-timepicker{margin-top:10px !important;width:auto !important;border-radius:var(--border-radius);z-index:1600 !important}.ui-widget.ui-timepicker .ui-widget-content{border:none !important}.ui-widget.ui-timepicker .ui-state-default,.ui-widget.ui-timepicker .ui-widget-content .ui-state-default,.ui-widget.ui-timepicker .ui-widget-header .ui-state-default{border:1px solid rgba(0,0,0,0);background:inherit}.ui-widget.ui-timepicker .ui-widget-header{padding:7px;font-size:13px;border:none;background-color:var(--color-main-background);color:var(--color-main-text)}.ui-widget.ui-timepicker .ui-widget-header .ui-timepicker-title{line-height:1;font-weight:normal}.ui-widget.ui-timepicker table.ui-timepicker tr .ui-timepicker-hour-cell:first-child{margin-inline-start:30px}.ui-widget.ui-timepicker .ui-timepicker-table th{font-weight:normal;color:var(--color-text-lighter);opacity:.8}.ui-widget.ui-timepicker .ui-timepicker-table th.periods{padding:0;width:30px;line-height:30px}.ui-widget.ui-timepicker .ui-timepicker-table tr:hover{background-color:inherit}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-hour-cell a.ui-state-active,.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-minute-cell a.ui-state-active,.ui-widget.ui-timepicker .ui-timepicker-table td .ui-state-hover,.ui-widget.ui-timepicker .ui-timepicker-table td .ui-state-focus{background-color:var(--color-primary-element);color:var(--color-primary-element-text);font-weight:bold}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-minutes:not(.ui-state-hover){color:var(--color-text-lighter)}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-hours{border-inline-end:1px solid var(--color-border)}.ui-widget.ui-datepicker .ui-datepicker-calendar tr,.ui-widget.ui-timepicker table.ui-timepicker tr{display:flex;flex-wrap:nowrap;justify-content:space-between}.ui-widget.ui-datepicker .ui-datepicker-calendar tr td,.ui-widget.ui-timepicker table.ui-timepicker tr td{flex:1 1 auto;margin:0;padding:2px;height:26px;width:26px;display:flex;align-items:center;justify-content:center}.ui-widget.ui-datepicker .ui-datepicker-calendar tr td>*,.ui-widget.ui-timepicker table.ui-timepicker tr td>*{border-radius:50%;text-align:center;font-weight:normal;color:var(--color-main-text);display:block;line-height:18px;width:18px;height:18px;padding:3px;font-size:.9em}.ui-dialog{position:fixed !important}span.ui-icon{float:left;margin-block:3px 30px;margin-inline:0 7px}.extra-data{padding-inline-end:5px !important}#tagsdialog .content{width:100%;height:280px}#tagsdialog .scrollarea{overflow:auto;border:1px solid var(--color-background-darker);width:100%;height:240px}#tagsdialog .bottombuttons{width:100%;height:30px}#tagsdialog .bottombuttons *{float:left}#tagsdialog .taglist li{background:var(--color-background-dark);padding:.3em .8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transition:background-color 500ms;transition:background-color 500ms}#tagsdialog .taglist li:hover,#tagsdialog .taglist li:active{background:var(--color-background-darker)}#tagsdialog .addinput{width:90%;clear:both}.breadcrumb{display:inline-flex;height:50px}li.crumb{display:inline-flex;background-image:url("../img/breadcrumb.svg?v=1");background-repeat:no-repeat;background-position:right center;height:44px;background-size:auto 24px;flex:0 0 auto;order:1;padding-inline-end:7px}li.crumb.crumbmenu{order:2;position:relative}li.crumb.crumbmenu a{opacity:.5}li.crumb.crumbmenu.canDropChildren .popovermenu,li.crumb.crumbmenu.canDrop .popovermenu{display:block}li.crumb.crumbmenu .popovermenu{top:100%;margin-inline-end:3px}li.crumb.crumbmenu .popovermenu ul{max-height:345px;overflow-y:auto;overflow-x:hidden;padding-inline-end:5px}li.crumb.crumbmenu .popovermenu ul li.canDrop span:first-child{background-image:url("../img/filetypes/folder-drag-accept.svg?v=1") !important}li.crumb.crumbmenu .popovermenu .in-breadcrumb{display:none}li.crumb.hidden{display:none}li.crumb.hidden~.crumb{order:3}li.crumb>a,li.crumb>span{position:relative;padding:12px;opacity:.5;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;flex:0 0 auto;max-width:200px}li.crumb>a.icon-home,li.crumb>a.icon-delete,li.crumb>span.icon-home,li.crumb>span.icon-delete{text-indent:-9999px}li.crumb>a[class^=icon-]{padding:0;width:44px}li.crumb:last-child{font-weight:bold;margin-inline-end:10px}li.crumb:last-child a~span{padding-inline-start:0}li.crumb:hover,li.crumb:focus,li.crumb a:focus,li.crumb:active{opacity:1}li.crumb:hover>a,li.crumb:hover>span,li.crumb:focus>a,li.crumb:focus>span,li.crumb a:focus>a,li.crumb a:focus>span,li.crumb:active>a,li.crumb:active>span{opacity:.7}.appear{opacity:1;-webkit-transition:opacity 500ms ease 0s;-moz-transition:opacity 500ms ease 0s;-ms-transition:opacity 500ms ease 0s;-o-transition:opacity 500ms ease 0s;transition:opacity 500ms ease 0s}.appear.transparent{opacity:0}fieldset.warning legend,fieldset.update legend{top:18px;position:relative}fieldset.warning legend+p,fieldset.update legend+p{margin-top:12px}@-ms-viewport{width:device-width}.hiddenuploadfield{display:none;width:0;height:0;opacity:0}/*# sourceMappingURL=styles.css.map */
diff --git a/core/css/styles.css.map b/core/css/styles.css.map
new file mode 100644
index 00000000000..73e50a6eaa2
--- /dev/null
+++ b/core/css/styles.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["styles.scss","variables.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GDMA,MACC,mCACA,uCAGD,yQACC,SACA,UACA,SACA,oBACA,eACA,oBACA,wBACA,eACA,uCAGD,6CACC,aAID,0CACC,wDACA,aAGD,UACC,YAEA,8BAGD,6DACC,cAGD,MACC,yBACA,iBACA,mBAGD,cACC,iBACA,mBAGD,YACC,sBAGD,EACC,SACA,6BACA,qBACA,eACA,IACC,eAIF,WACC,aACA,0BAGD,MACC,eACA,QACC,eAIF,0BACC,eAGD,GACC,gBAGD,KACC,mBAEA,mCACA,uCACA,6BACA,6BAGD,mBACC,kBAGD,qBACC,kBACA,sBACA,qBACA,2BACA,2DACA,uBAGD,iBACC,qBACA,aACA,gCAGD,eACC,YACA,aAGD,cACC,eACA,MACA,SACA,qBACA,YACA,WACA,aACA,kBACA,gDACA,wCACA,iBACA,eACA,kBACC,cACA,kBACA,UACA,QACA,gBAED,gBACC,wCACA,sDACA,4CACC,6CAOH,oBACC,WACA,YAGD,2BACC,+BAGD,gCACC,+BAGD,0BACC,kCACA,yCACA,+BACA,4BAMD,YACC,8CACA,wCAMD,kBACC,sBAKD,4BAEC,oCACA,kBACA,gBACA,WACA,sDACC,gBAED,sEACC,gBAED,kCACC,mBAED,oHAEC,qBACA,YACA,WACA,mBACA,gcAEC,WAOH,sBACC,WASD,oCACC,kBACA,yBACA,sBACA,qBACA,iBAID,kBAEC,kBACA,qBACA,SAEA,YAGD,8CAGC,WAGD,8BACC,sBACA,oBACA,wBACA,wBAGD,2EACC,WAGD,oGACC,kDACA,UACA,qBAGD,mDACC,6BACA,YACA,WACA,yCACA,4BACA,2BACA,WAOA,qEACC,UAED,qEACC,UAIF,wEACC,aAGD,2CACC,wBAGD,yBACC,kBACA,qBACA,sBAGD,qBACC,cACA,mBACA,iBACA,uBACA,aAKD,4CACC,eACA,YACA,mCACA,6BACA,qDAIA,2BACC,4BAKD,wBACC,sBACA,4BACA,+BACC,2CACA,qBACA,kBAGF,0BACC,qBACA,iBAIF,YACC,YACA,sCACA,oBACC,sBAIF,eACC,2CAUD,mBACC,kBACA,cACA,2BACC,kBACA,cAIF,UACC,gBAGD,8CACC,UAIA,WACC,WACA,YAGD,8CAEC,UAGD,oGAGC,WAIF,mBACC,WACA,kBACA,QAEA,kDACC,UAKD,kDACC,UAIF,eACC,WAEA,0CACC,UAKD,uGACC,8CAIF,KACC,mFAGD,OACC,gBACA,YACA,eACA,qBACA,UACC,qBAIF,2FACC,gBACA,uBAGD,2BACC,yDAGD,2BACC,6DAID,yBACC,gBACA,gBACA,WACA,mCACA,YACA,wBAEA,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAED,oDACC,WAEA,4JAEC,kCACA,4BAGF,oEACC,UAID,oDACC,mBACA,gCACA,WACA,WACA,YAED,0DACC,yBAGA,+FACC,gDAGD,wOAGC,8CACA,wCACA,iBAGD,yNAEC,gCACA,WAOH,4FACC,iDAED,4FACC,gDAKD,4FACC,gDAED,4FACC,iDAIF,wCACC,gCACA,wCAKD,yBACC,2BACA,sBACA,mCACA,wBAEA,4CACC,uBAGD,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAIF,qFACC,yBAGA,iDACC,mBACA,gCACA,WACA,yDACC,UACA,WACA,iBAGF,uDACC,yBAGA,0TAIC,8CACA,wCACA,iBAGD,4FACC,gCAGD,qEACC,gDASH,oGACC,aACA,iBACA,8BACA,0GACC,cACA,SACA,YACA,YACA,WACA,aACA,mBACA,uBACA,8GACC,kBACA,kBACA,mBACA,6BACA,cACA,iBACA,WACA,YACA,YACA,eAOJ,WACC,0BAGD,aACC,WACA,sBACA,oBAKD,YACC,kCAMA,qBACC,WACA,aAED,wBACC,cACA,gDACA,WACA,aAED,2BACC,WACA,YACA,6BACC,WAGF,wBACC,wCACA,kBACA,mBACA,gBACA,uBACA,0CACA,kCACA,6DACC,0CAGF,sBACC,UACA,WAKF,YACC,oBACA,YAGD,SACC,oBACA,kDACA,4BACA,iCACA,YACA,0BACA,cACA,QACA,uBACA,mBACC,QACA,kBACA,qBACC,WAIA,wFACC,cAIF,gCACC,SACA,sBACA,mCACC,iBACA,gBACA,kBACA,uBACA,+DACC,+EAGF,+CACC,aAIH,gBACC,aACA,uBACC,QAGF,yBAEC,kBACA,aACA,WACA,uBACA,mBACA,gBACA,cAEA,gBAEA,8FAGC,oBAGF,yBACC,UACA,WAGD,oBACC,iBACA,uBAEA,2BACC,uBAGF,+DACC,UAEA,0JAEC,WAOH,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAOD,+CACC,SACA,kBAED,mDACC,gBAKF,cACC,mBAMD,mBACC,aACA,QACA,SACA","file":"styles.css"} \ No newline at end of file
diff --git a/core/css/styles.css.map.license b/core/css/styles.css.map.license
new file mode 100644
index 00000000000..82ac7cce426
--- /dev/null
+++ b/core/css/styles.css.map.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/styles.scss b/core/css/styles.scss
new file mode 100644
index 00000000000..7c733004650
--- /dev/null
+++ b/core/css/styles.scss
@@ -0,0 +1,843 @@
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+@use 'sass:math';
+@use 'variables';
+
+:root {
+ font-size: var(--default-font-size);
+ line-height: var(--default-line-height);
+}
+
+html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section, main {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-weight: inherit;
+ font-size: 100%;
+ font-family: inherit;
+ vertical-align: baseline;
+ cursor: default;
+ scrollbar-color: var(--color-scrollbar);
+}
+
+.js-focus-visible :focus:not(.focus-visible) {
+ outline: none;
+}
+
+/** Let vue apps handle the focus themselves */
+.content:not(#content-vue) :focus-visible {
+ box-shadow: inset 0 0 0 2px var(--color-primary-element);
+ outline: none;
+}
+
+html, body {
+ height: 100%;
+ // disable pull-down-to-refresh on chromium mobile
+ overscroll-behavior-y: contain;
+}
+
+article, aside, dialog, figure, footer, header, hgroup, nav, section {
+ display: block;
+}
+
+table {
+ border-collapse: separate;
+ border-spacing: 0;
+ white-space: nowrap;
+}
+
+caption, th, td {
+ text-align: start;
+ font-weight: normal;
+}
+
+table, td, th {
+ vertical-align: middle;
+}
+
+a {
+ border: 0;
+ color: var(--color-main-text);
+ text-decoration: none;
+ cursor: pointer;
+ * {
+ cursor: pointer;
+ }
+}
+
+a.external {
+ margin: 0 3px;
+ text-decoration: underline;
+}
+
+input {
+ cursor: pointer;
+ * {
+ cursor: pointer;
+ }
+}
+
+select, .button span, label {
+ cursor: pointer;
+}
+
+ul {
+ list-style: none;
+}
+
+body {
+ font-weight: normal;
+ /* bring the default font size up to 15px */
+ font-size: var(--default-font-size);
+ line-height: var(--default-line-height);
+ font-family: var(--font-face);
+ color: var(--color-main-text);
+}
+
+.two-factor-header {
+ text-align: center;
+}
+
+.two-factor-provider {
+ text-align: center;
+ width: 100% !important;
+ display: inline-block;
+ margin-bottom: 0 !important;
+ background-color: var(--color-background-darker) !important;
+ border: none !important;
+}
+
+.two-factor-link {
+ display: inline-block;
+ padding: 12px;
+ color: var(--color-text-lighter);
+}
+
+.float-spinner {
+ height: 32px;
+ display: none;
+}
+
+#nojavascript {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ inset-inline-start: 0;
+ height: 100%;
+ width: 100%;
+ z-index: 9000;
+ text-align: center;
+ background-color: var(--color-background-darker);
+ color: var(--color-primary-element-text);
+ line-height: 125%;
+ font-size: 24px;
+ div {
+ display: block;
+ position: relative;
+ width: 50%;
+ top: 35%;
+ margin: 0px auto;
+ }
+ a {
+ color: var(--color-primary-element-text);
+ border-bottom: 2px dotted var(--color-main-background);
+ &:hover, &:focus {
+ color: var(--color-primary-element-text-dark);
+ }
+ }
+}
+
+/* SCROLLING */
+
+::-webkit-scrollbar {
+ width: 12px;
+ height: 12px
+}
+
+::-webkit-scrollbar-corner {
+ background-color: transparent;
+}
+
+::-webkit-scrollbar-track-piece {
+ background-color: transparent;
+}
+
+::-webkit-scrollbar-thumb {
+ background: var(--color-scrollbar);
+ border-radius: var(--border-radius-large);
+ border: 2px solid transparent;
+ background-clip: content-box;
+}
+
+
+/* SELECTION */
+
+::selection {
+ background-color: var(--color-primary-element);
+ color: var(--color-primary-element-text);
+}
+
+
+/* CONTENT ------------------------------------------------------------------ */
+
+#app-navigation * {
+ box-sizing: border-box;
+}
+
+/* EMPTY CONTENT DISPLAY ------------------------------------------------------------ */
+
+#emptycontent,
+.emptycontent {
+ color: var(--color-text-maxcontrast);
+ text-align: center;
+ margin-top: 30vh;
+ width: 100%;
+ #app-sidebar & {
+ margin-top: 10vh;
+ }
+ .emptycontent-search {
+ position: static;
+ }
+ h2 {
+ margin-bottom: 10px;
+ }
+ [class^='icon-'],
+ [class*='icon-'] {
+ background-size: 64px;
+ height: 64px;
+ width: 64px;
+ margin: 0 auto 15px;
+ &:not([class^='icon-loading']),
+ &:not([class*='icon-loading']) {
+ opacity: .4;
+ }
+ }
+}
+
+/* LOG IN & INSTALLATION ------------------------------------------------------------ */
+
+#datadirContent label {
+ width: 100%;
+}
+
+/* strengthify wrapper */
+
+/* General new input field look */
+
+/* Nicely grouping input field sets */
+
+.grouptop, .groupmiddle, .groupbottom {
+ position: relative;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+/* Show password toggle */
+#show,
+#dbpassword {
+ position: absolute;
+ inset-inline-end: 1em;
+ top: .8em;
+ /* Cannot use inline-start and :dir to support Samsung Internet */
+ float: right;
+}
+
+body[dir='rtl'] #show,
+body[dir='rtl'] #dbpassword {
+ /* Cannot use inline-start and :dir to support Samsung Internet */
+ float: left;
+}
+
+#show + label, #dbpassword + label {
+ inset-inline-end: 21px;
+ top: 15px !important;
+ margin: -14px !important;
+ padding: 14px !important;
+}
+
+#show:checked + label, #dbpassword:checked + label, #personal-show:checked + label {
+ opacity: .8;
+}
+
+#show:focus-visible + label, #dbpassword-toggle:focus-visible + label, #personal-show:focus-visible + label {
+ box-shadow: var(--color-primary-element) 0 0 0 2px;
+ opacity: 1;
+ border-radius: 9999px;
+}
+
+#show + label, #dbpassword + label, #personal-show + label {
+ position: absolute !important;
+ height: 20px;
+ width: 24px;
+ background-image: var(--icon-toggle-dark);
+ background-repeat: no-repeat;
+ background-position: center;
+ opacity: .3;
+}
+
+/* Feedback for keyboard focus and mouse hover */
+#show,
+#dbpassword,
+#personal-show {
+ &:focus + label {
+ opacity: 1;
+ }
+ + label:hover {
+ opacity: 1;
+ }
+}
+
+#show + label:before, #dbpassword + label:before, #personal-show + label:before {
+ display: none;
+}
+
+#pass2, input[name='personal-password-clone'] {
+ padding-inline-end: 30px;
+}
+
+.personal-show-container {
+ position: relative;
+ display: inline-block;
+ margin-inline-end: 6px;
+}
+
+#personal-show + label {
+ display: block;
+ inset-inline-end: 0;
+ margin-top: -43px;
+ margin-inline-end: -4px;
+ padding: 22px;
+}
+
+/* Warnings and errors are the same */
+
+#body-user .warning, #body-settings .warning {
+ margin-top: 8px;
+ padding: 5px;
+ border-radius: var(--border-radius);
+ color: var(--color-main-text);
+ background-color: rgba(var(--color-warning-rgb), 0.2);
+}
+
+.warning {
+ legend, a {
+ font-weight: bold !important;
+ }
+}
+
+.error:not(.toastify) {
+ a {
+ color: white !important;
+ font-weight: bold !important;
+ &.button {
+ color: var(--color-text-lighter) !important;
+ display: inline-block;
+ text-align: center;
+ }
+ }
+ pre {
+ white-space: pre-wrap;
+ text-align: start;
+ }
+}
+
+.error-wide {
+ width: 700px;
+ margin-inline-start: -200px !important;
+ .button {
+ color: black !important;
+ }
+}
+
+.warning-input {
+ border-color: var(--color-error) !important;
+}
+
+/* fixes for update page TODO should be fixed some time in a proper way */
+/* this is just for an error while updating the Nextcloud instance */
+
+/* Sticky footer */
+
+/* round profile photos */
+
+.avatar, .avatardiv {
+ border-radius: 50%;
+ flex-shrink: 0;
+ &> img {
+ border-radius: 50%;
+ flex-shrink: 0;
+ }
+}
+
+td.avatar {
+ border-radius: 0;
+}
+
+tr .action:not(.permanent), .selectedActions > a {
+ opacity: 0;
+}
+
+tr {
+ .action {
+ width: 16px;
+ height: 16px;
+ }
+
+ &:hover .action:hover,
+ &:focus .action:focus {
+ opacity: 1;
+ }
+
+ &:hover .action:not(.menuitem),
+ &:focus .action:not(.menuitem),
+ .action.permanent:not(.menuitem) {
+ opacity: .5;
+ }
+}
+
+.selectedActions > a {
+ opacity: .5;
+ position: relative;
+ top: 2px;
+
+ &:hover, &:focus {
+ opacity: 1;
+ }
+}
+
+.selectedActions a {
+ &:hover, &:focus {
+ opacity: 1;
+ }
+}
+
+.header-action {
+ opacity: .8;
+
+ &:hover, &:focus {
+ opacity: 1;
+ }
+}
+
+tbody tr:not(.group-header) {
+ &:hover, &:focus, &:active {
+ background-color: var(--color-background-dark);
+ }
+}
+
+code {
+ font-family: 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', monospace;
+}
+
+.pager {
+ list-style: none;
+ float: right;
+ display: inline;
+ margin: .7em 13em 0 0;
+ li {
+ display: inline-block;
+ }
+}
+
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.ui-icon-circle-triangle-e {
+ background-image: url('../img/actions/play-next.svg?v=1');
+}
+
+.ui-icon-circle-triangle-w {
+ background-image: url('../img/actions/play-previous.svg?v=1');
+}
+
+/* ---- jQuery UI datepicker ---- */
+.ui-widget.ui-datepicker {
+ margin-top: 10px;
+ padding: 4px 8px;
+ width: auto;
+ border-radius: var(--border-radius);
+ border: none;
+ z-index: 1600 !important; // above sidebar
+
+ .ui-state-default,
+ .ui-widget-content .ui-state-default,
+ .ui-widget-header .ui-state-default {
+ border: 1px solid transparent;
+ background: inherit;
+ }
+ .ui-widget-header {
+ padding: 7px;
+ font-size: 13px;
+ border: none;
+ background-color: var(--color-main-background);
+ color: var(--color-main-text);
+
+ .ui-datepicker-title {
+ line-height: 1;
+ font-weight: normal;
+ }
+ .ui-icon {
+ opacity: .5;
+
+ &.ui-icon-circle-triangle-e,
+ &.ui-icon-circle-triangle-w {
+ background-position: center center;
+ background-repeat: no-repeat;
+ }
+ }
+ .ui-state-hover .ui-icon {
+ opacity: 1;
+ }
+ }
+ .ui-datepicker-calendar {
+ th {
+ font-weight: normal;
+ color: var(--color-text-lighter);
+ opacity: .8;
+ width: 26px;
+ padding: 2px;
+ }
+ tr:hover {
+ background-color: inherit;
+ }
+ td {
+ &.ui-datepicker-today a:not(.ui-state-hover) {
+ background-color: var(--color-background-darker);
+ }
+
+ &.ui-datepicker-current-day a.ui-state-active,
+ .ui-state-hover,
+ .ui-state-focus {
+ background-color: var(--color-primary-element);
+ color: var(--color-primary-element-text);
+ font-weight: bold;
+ }
+
+ &.ui-datepicker-week-end:not(.ui-state-disabled) :not(.ui-state-hover),
+ .ui-priority-secondary:not(.ui-state-hover) {
+ color: var(--color-text-lighter);
+ opacity: .8;
+ }
+ }
+ }
+}
+
+body[dir='ltr'] .ui-widget.ui-datepicker .ui-widget-header .ui-icon {
+ &.ui-icon-circle-triangle-e {
+ background: url("../img/actions/arrow-right.svg");
+ }
+ &.ui-icon-circle-triangle-w {
+ background: url("../img/actions/arrow-left.svg");
+ }
+}
+
+body[dir='rtl'] .ui-widget.ui-datepicker .ui-widget-header .ui-icon {
+ &.ui-icon-circle-triangle-e {
+ background: url("../img/actions/arrow-left.svg");
+ }
+ &.ui-icon-circle-triangle-w {
+ background: url("../img/actions/arrow-right.svg");
+ }
+}
+
+.ui-datepicker-prev, .ui-datepicker-next {
+ border: var(--color-border-dark);
+ background: var(--color-main-background);
+}
+
+
+/* ---- jQuery UI timepicker ---- */
+.ui-widget.ui-timepicker {
+ margin-top: 10px !important;
+ width: auto !important;
+ border-radius: var(--border-radius);
+ z-index: 1600 !important;
+
+ .ui-widget-content {
+ border: none !important;
+ }
+
+ .ui-state-default,
+ .ui-widget-content .ui-state-default,
+ .ui-widget-header .ui-state-default {
+ border: 1px solid transparent;
+ background: inherit;
+ }
+ .ui-widget-header {
+ padding: 7px;
+ font-size: 13px;
+ border: none;
+ background-color: var(--color-main-background);
+ color: var(--color-main-text);
+
+ .ui-timepicker-title {
+ line-height: 1;
+ font-weight: normal;
+ }
+ }
+ /* AM/PM fix */
+ table.ui-timepicker tr .ui-timepicker-hour-cell:first-child {
+ margin-inline-start: 30px;
+ }
+ .ui-timepicker-table {
+ th {
+ font-weight: normal;
+ color: var(--color-text-lighter);
+ opacity: .8;
+ &.periods {
+ padding: 0;
+ width: 30px;
+ line-height: 30px;
+ }
+ }
+ tr:hover {
+ background-color: inherit;
+ }
+ td {
+ &.ui-timepicker-hour-cell a.ui-state-active,
+ &.ui-timepicker-minute-cell a.ui-state-active,
+ .ui-state-hover,
+ .ui-state-focus {
+ background-color: var(--color-primary-element);
+ color: var(--color-primary-element-text);
+ font-weight: bold;
+ }
+
+ &.ui-timepicker-minutes:not(.ui-state-hover) {
+ color: var(--color-text-lighter);
+ }
+
+ &.ui-timepicker-hours {
+ border-inline-end: 1px solid var(--color-border);
+ }
+ }
+ }
+}
+
+/* ---- jQuery UI datepicker & timepicker global rules ---- */
+.ui-widget.ui-datepicker .ui-datepicker-calendar,
+.ui-widget.ui-timepicker table.ui-timepicker {
+ tr {
+ display: flex;
+ flex-wrap: nowrap;
+ justify-content: space-between;
+ td {
+ flex: 1 1 auto;
+ margin: 0;
+ padding: 2px;
+ height: 26px;
+ width: 26px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ > * {
+ border-radius: 50%;
+ text-align: center;
+ font-weight: normal;
+ color: var(--color-main-text);
+ display: block;
+ line-height: 18px;
+ width: 18px;
+ height: 18px;
+ padding: 3px;
+ font-size: .9em;
+ }
+ }
+ }
+}
+
+/* ---- DIALOGS ---- */
+.ui-dialog {
+ position: fixed !important;
+}
+
+span.ui-icon {
+ float: left;
+ margin-block: 3px 30px;
+ margin-inline: 0 7px;
+}
+
+/* ---- TOOLTIPS ---- */
+
+.extra-data {
+ padding-inline-end: 5px !important;
+}
+
+/* ---- TAGS ---- */
+
+#tagsdialog {
+ .content {
+ width: 100%;
+ height: 280px;
+ }
+ .scrollarea {
+ overflow: auto;
+ border: 1px solid var(--color-background-darker);
+ width: 100%;
+ height: 240px;
+ }
+ .bottombuttons {
+ width: 100%;
+ height: 30px;
+ * {
+ float: left;
+ }
+ }
+ .taglist li {
+ background: var(--color-background-dark);
+ padding: .3em .8em;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -webkit-transition: background-color 500ms;
+ transition: background-color 500ms;
+ &:hover, &:active {
+ background: var(--color-background-darker);
+ }
+ }
+ .addinput {
+ width: 90%;
+ clear: both;
+ }
+}
+
+/* ---- BREADCRUMB ---- */
+.breadcrumb {
+ display: inline-flex;
+ height: 50px;
+}
+
+li.crumb {
+ display: inline-flex;
+ background-image: url('../img/breadcrumb.svg?v=1');
+ background-repeat: no-repeat;
+ background-position: right center;
+ height: 44px;
+ background-size: auto 24px;
+ flex: 0 0 auto;
+ order: 1;
+ padding-inline-end: 7px;
+ &.crumbmenu {
+ order: 2;
+ position: relative;
+ a {
+ opacity: 0.5
+ }
+ &.canDropChildren,
+ &.canDrop {
+ .popovermenu {
+ display: block;
+ }
+ }
+ // Fix because of the display flex
+ .popovermenu {
+ top: 100%;
+ margin-inline-end: 3px;
+ ul {
+ max-height: 345px;
+ overflow-y: auto;
+ overflow-x: hidden;
+ padding-inline-end: 5px;
+ li.canDrop span:first-child {
+ background-image: url('../img/filetypes/folder-drag-accept.svg?v=1') !important;
+ }
+ }
+ .in-breadcrumb {
+ display: none;
+ }
+ }
+ }
+ &.hidden {
+ display: none;
+ ~ .crumb {
+ order: 3;
+ }
+ }
+ > a,
+ > span {
+ position: relative;
+ padding: 12px;
+ opacity: 0.5;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ flex: 0 0 auto;
+ // Some sane max-width for each folder name
+ max-width: 200px;
+
+ &.icon-home,
+ &.icon-delete {
+ // Hide home text
+ text-indent: -9999px;
+ }
+ }
+ > a[class^='icon-'] {
+ padding: 0;
+ width: 44px;
+ }
+
+ &:last-child {
+ font-weight: bold;
+ margin-inline-end: 10px;
+ // Allow multiple span next to the main 'a'
+ a ~ span {
+ padding-inline-start: 0;
+ }
+ }
+ &:hover, &:focus, a:focus, &:active {
+ opacity: 1;
+
+ > a,
+ > span {
+ opacity: .7;
+ }
+ }
+}
+
+/* some feedback for hover/tap on breadcrumbs */
+
+.appear {
+ opacity: 1;
+ -webkit-transition: opacity 500ms ease 0s;
+ -moz-transition: opacity 500ms ease 0s;
+ -ms-transition: opacity 500ms ease 0s;
+ -o-transition: opacity 500ms ease 0s;
+ transition: opacity 500ms ease 0s;
+ &.transparent {
+ opacity: 0;
+ }
+}
+
+/* LEGACY FIX only - do not use fieldsets for settings */
+
+fieldset {
+ &.warning legend, &.update legend {
+ top: 18px;
+ position: relative;
+ }
+ &.warning legend + p, &.update legend + p {
+ margin-top: 12px;
+ }
+}
+
+/* for IE10 */
+@-ms-viewport {
+ width: device-width;
+}
+
+
+/* hidden input type=file field */
+
+.hiddenuploadfield {
+ display: none;
+ width: 0;
+ height: 0;
+ opacity: 0;
+}
diff --git a/core/css/systemtags.css b/core/css/systemtags.css
index 22e41ea53ca..a6881e82943 100644
--- a/core/css/systemtags.css
+++ b/core/css/systemtags.css
@@ -1,118 +1,5 @@
-/*
- * Copyright (c) 2016
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
- */
-.systemtags-select2-dropdown .select2-selected {
- display: list-item;
- background-color: #f8f8f8;
-}
-.systemtags-select2-dropdown .select2-highlighted,
-.systemtags-select2-dropdown .select2-selected.select2-highlighted {
- background: #f8f8f8;
-}
-
-.select2-result {
- position: relative;
-}
-.systemtags-select2-dropdown .select2-highlighted {
- color: #000000;
-}
-.systemtags-select2-dropdown .select2-result-label .checkmark {
- visibility: hidden;
-}
-
-.systemtags-select2-dropdown .select2-result-label .new-item .systemtags-actions {
- display: none;
-}
-
-.systemtags-select2-dropdown .select2-selected .select2-result-label .checkmark {
- visibility: visible;
-}
-
-.systemtags-select2-dropdown .select2-result-label .icon {
- display: inline-block;
- opacity: .5;
-}
-.systemtags-select2-dropdown .select2-result-label .icon.rename {
- padding: 4px;
-}
-
-.systemtags-select2-dropdown .systemtags-actions {
- position: absolute;
- right: 0;
- top: 3px;
-}
-
-.systemtags-select2-dropdown .systemtags-rename-form {
- display: inline;
- margin-left: 10px;
-}
-
-.systemtags-select2-container {
- width: 100%;
-}
-
-.systemtags-select2-container .select2-choices {
- white-space: nowrap;
- text-overflow: ellipsis;
- background: #fff;
- color: #555;
- box-sizing: content-box;
- border-radius: 3px;
- border: 1px solid #ddd;
- margin: 3px 3px 3px 0;
- padding: 2px 0;
- min-height: auto;
-}
-
-.systemtags-select2-container .select2-choices .select2-search-choice {
- line-height: 20px;
- padding-left: 5px;
-}
-
-.systemtags-select2-container .select2-choices .select2-search-choice.select2-locked .label {
- opacity: 0.5;
-}
-
-.systemtags-select2-container .select2-choices .select2-search-choice-close {
- display: none;
-}
-.systemtags-select2-container .select2-choices .select2-search-field input {
- line-height: 20px;
-}
-.systemtags-select2-dropdown .label {
- width:85%;
- display:-moz-inline-box;
- display:inline-block;
- overflow:hidden;
- text-overflow:ellipsis;
-}
-
-.systemtags-select2-dropdown .label.hidden {
- display: none;
-}
-
-.select2-container-multi .select2-choices .select2-search-choice {
- background-color: rgba(240,240,240,.9);
- border-color: rgba(240,240,240,.9);
- box-shadow: none;
- background-image: none;
-}
-.select2-results .select2-highlighted {
- background-color: rgba(240,240,240,.9);
- color: #000;
-}
-
-.select2-container-multi.select2-container-active .select2-choices,
-.select2-drop-active {
- border-color: #ddd;
-}
-.select2-container-multi.select2-container-active .select2-choices {
- -webkit-box-shadow: none;
- box-shadow: none;
-}
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */.systemtags-select2-dropdown .select2-result-label{height:25px}.systemtags-select2-dropdown .select2-result-label .checkmark{visibility:hidden;margin-inline:-5px 5px;padding:4px}.systemtags-select2-dropdown .select2-result-label .new-item .systemtags-actions{display:none}.systemtags-select2-dropdown .select2-selected .select2-result-label .checkmark{visibility:visible}.systemtags-select2-dropdown .select2-result-label .icon{display:inline-block;opacity:.5}.systemtags-select2-dropdown .select2-result-label .icon.rename{padding:4px}.systemtags-select2-dropdown .systemtags-actions{position:absolute;inset-inline-end:5px}.systemtags-select2-dropdown .systemtags-rename-form{display:inline-block;width:calc(100% - 20px);top:-6px;position:relative}.systemtags-select2-dropdown .systemtags-rename-form input{display:inline-block;height:30px;width:calc(100% - 40px)}.systemtags-select2-dropdown .label{width:85%;display:inline-block;overflow:hidden;text-overflow:ellipsis}.systemtags-select2-dropdown .label.hidden{display:none}.systemtags-select2-dropdown span{line-height:25px}.systemtags-select2-dropdown .systemtags-item{display:inline-block;height:25px;width:100%}.systemtags-select2-container{width:100%}.systemtags-select2-container .select2-choices{flex-wrap:nowrap !important;max-height:44px}.systemtags-select2-container .select2-choices .select2-search-choice.select2-locked .label{opacity:.5}#select2-drop.systemtags-select2-dropdown .select2-results li.select2-result{padding:5px}/*# sourceMappingURL=systemtags.css.map */
diff --git a/core/css/systemtags.css.map b/core/css/systemtags.css.map
new file mode 100644
index 00000000000..62aef0e2bed
--- /dev/null
+++ b/core/css/systemtags.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["systemtags.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GAOC,mDACC,YAEA,8DACC,kBACA,uBACA,YAED,iFACC,aAGF,gFACC,mBAED,yDACC,qBACA,WACA,gEACC,YAGF,iDACC,kBACA,qBAED,qDACC,qBACA,wBACA,SACA,kBACA,2DACC,qBACA,YACA,wBAGF,oCACC,UACA,qBACA,gBACA,uBACA,2CACC,aAGF,kCACC,iBAED,8CACC,qBACA,YACA,WAIF,8BACC,WAEA,+CACC,4BACA,gBAGD,4FACC,WAIF,6EACC","file":"systemtags.css"} \ No newline at end of file
diff --git a/core/css/systemtags.css.map.license b/core/css/systemtags.css.map.license
new file mode 100644
index 00000000000..82ac7cce426
--- /dev/null
+++ b/core/css/systemtags.css.map.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/systemtags.scss b/core/css/systemtags.scss
new file mode 100644
index 00000000000..fcb9c09a144
--- /dev/null
+++ b/core/css/systemtags.scss
@@ -0,0 +1,79 @@
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+.systemtags-select2-dropdown {
+ .select2-result-label {
+ height: 25px;
+
+ .checkmark {
+ visibility: hidden;
+ margin-inline: -5px 5px;
+ padding: 4px;
+ }
+ .new-item .systemtags-actions {
+ display: none;
+ }
+ }
+ .select2-selected .select2-result-label .checkmark {
+ visibility: visible;
+ }
+ .select2-result-label .icon {
+ display: inline-block;
+ opacity: .5;
+ &.rename {
+ padding: 4px;
+ }
+ }
+ .systemtags-actions {
+ position: absolute;
+ inset-inline-end: 5px;
+ }
+ .systemtags-rename-form {
+ display: inline-block;
+ width: calc(100% - 20px);
+ top: -6px;
+ position: relative;
+ input {
+ display: inline-block;
+ height: 30px;
+ width: calc(100% - 40px);
+ }
+ }
+ .label {
+ width: 85%;
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ &.hidden {
+ display: none;
+ }
+ }
+ span {
+ line-height: 25px;
+ }
+ .systemtags-item {
+ display: inline-block;
+ height: 25px;
+ width: 100%;
+ }
+}
+
+.systemtags-select2-container {
+ width: 100%;
+
+ .select2-choices {
+ flex-wrap: nowrap !important;
+ max-height: 44px;
+ }
+
+ .select2-choices .select2-search-choice.select2-locked .label {
+ opacity: 0.5;
+ }
+}
+
+#select2-drop.systemtags-select2-dropdown .select2-results li.select2-result {
+ padding: 5px;
+}
diff --git a/core/css/toast.css b/core/css/toast.css
new file mode 100644
index 00000000000..36fe5a2e17f
--- /dev/null
+++ b/core/css/toast.css
@@ -0,0 +1,10 @@
+/*!
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */.toastify.toast{min-width:200px;background:none;background-color:var(--color-main-background);color:var(--color-main-text);box-shadow:0 0 6px 0 var(--color-box-shadow);padding:12px;padding-inline-end:34px;margin-top:45px;position:fixed;z-index:9000;border-radius:var(--border-radius)}.toastify.toast .toast-close{position:absolute;top:0;inset-inline-end:0;width:38px;opacity:.4;padding:12px;background-image:var(--icon-close-dark);background-position:center;background-repeat:no-repeat;text-indent:200%;white-space:nowrap;overflow:hidden}.toastify.toast .toast-close:hover,.toastify.toast .toast-close:focus,.toastify.toast .toast-close:active{cursor:pointer;opacity:1}.toastify.toastify-top{inset-inline-end:10px}.toast-error{border-inline-start:3px solid var(--color-error)}.toast-info{border-inline-start:3px solid var(--color-primary-element)}.toast-warning{border-inline-start:3px solid var(--color-warning)}.toast-success{border-inline-start:3px solid var(--color-success)}/*# sourceMappingURL=toast.css.map */
diff --git a/core/css/toast.css.map b/core/css/toast.css.map
new file mode 100644
index 00000000000..8317c744103
--- /dev/null
+++ b/core/css/toast.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["toast.scss","variables.scss","functions.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GCFA;AAAA;AAAA;AAAA,GFOA,gBACC,gBACA,gBACA,8CACA,6BACA,6CACA,aACA,wBACA,gBACA,eACA,aACA,mCAEA,6BACC,kBACA,MACA,mBACA,WACA,WACA,aEsBD,wCFpBC,2BACA,4BACA,iBACA,mBACA,gBAEA,0GACC,eACA,UAKH,uBACC,sBAGD,aACC,iDAGD,YACC,2DAGD,eACC,mDAGD,eACC","file":"toast.css"} \ No newline at end of file
diff --git a/core/css/toast.css.map.license b/core/css/toast.css.map.license
new file mode 100644
index 00000000000..c09869eb5a4
--- /dev/null
+++ b/core/css/toast.css.map.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/toast.scss b/core/css/toast.scss
new file mode 100644
index 00000000000..c3af0b0a5d6
--- /dev/null
+++ b/core/css/toast.scss
@@ -0,0 +1,60 @@
+/*!
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+@use 'variables';
+@use 'functions';
+
+.toastify.toast {
+ min-width: 200px;
+ background: none;
+ background-color: var(--color-main-background);
+ color: var(--color-main-text);
+ box-shadow: 0 0 6px 0 var(--color-box-shadow);
+ padding: 12px;
+ padding-inline-end: 34px;
+ margin-top: 45px;
+ position: fixed;
+ z-index: 9000;
+ border-radius: var(--border-radius);
+
+ .toast-close {
+ position: absolute;
+ top: 0;
+ inset-inline-end: 0;
+ width: 38px;
+ opacity: 0.4;
+ padding: 12px;
+ @include functions.icon-color('close', 'actions', variables.$color-black, 2, true);
+ background-position: center;
+ background-repeat: no-repeat;
+ text-indent: 200%;
+ white-space: nowrap;
+ overflow: hidden;
+
+ &:hover, &:focus, &:active {
+ cursor: pointer;
+ opacity: 1;
+ }
+ }
+}
+
+.toastify.toastify-top {
+ inset-inline-end: 10px;
+}
+
+.toast-error {
+ border-inline-start: 3px solid var(--color-error);
+}
+
+.toast-info {
+ border-inline-start: 3px solid var(--color-primary-element);
+}
+
+.toast-warning {
+ border-inline-start: 3px solid var(--color-warning);
+}
+
+.toast-success {
+ border-inline-start: 3px solid var(--color-success);
+}
diff --git a/core/css/tooltip.css b/core/css/tooltip.css
index 34d0ec6c70f..ed64fa1c314 100644
--- a/core/css/tooltip.css
+++ b/core/css/tooltip.css
@@ -1,119 +1,5 @@
/*!
- * Bootstrap v3.3.5 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-.tooltip {
- position: absolute;
- z-index: 1070;
- display: block;
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-style: normal;
- font-weight: normal;
- letter-spacing: normal;
- line-break: auto;
- line-height: 1.42857143;
- text-align: left;
- text-align: start;
- text-decoration: none;
- text-shadow: none;
- text-transform: none;
- white-space: normal;
- word-break: normal;
- word-spacing: normal;
- word-wrap: normal;
- font-size: 12px;
- opacity: 0;
- filter: alpha(opacity=0);
-}
-.tooltip.in {
- opacity: 0.9;
- filter: alpha(opacity=90);
-}
-.tooltip.top {
- margin-top: -3px;
- padding: 5px 0;
-}
-.tooltip.right {
- margin-left: 3px;
- padding: 0 5px;
-}
-.tooltip.bottom {
- margin-top: 3px;
- padding: 5px 0;
-}
-.tooltip.left {
- margin-left: -3px;
- padding: 0 5px;
-}
-.tooltip-inner {
- max-width: 200px;
- padding: 3px 8px;
- color: #ffffff;
- text-align: center;
- background-color: #000000;
- border-radius: 4px;
-}
-.tooltip-arrow {
- position: absolute;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
-}
-.tooltip.top .tooltip-arrow {
- bottom: 0;
- left: 50%;
- margin-left: -5px;
- border-width: 5px 5px 0;
- border-top-color: #000000;
-}
-.tooltip.top-left .tooltip-arrow {
- bottom: 0;
- right: 5px;
- margin-bottom: -5px;
- border-width: 5px 5px 0;
- border-top-color: #000000;
-}
-.tooltip.top-right .tooltip-arrow {
- bottom: 0;
- left: 5px;
- margin-bottom: -5px;
- border-width: 5px 5px 0;
- border-top-color: #000000;
-}
-.tooltip.right .tooltip-arrow {
- top: 50%;
- left: 0;
- margin-top: -5px;
- border-width: 5px 5px 5px 0;
- border-right-color: #000000;
-}
-.tooltip.left .tooltip-arrow {
- top: 50%;
- right: 0;
- margin-top: -5px;
- border-width: 5px 0 5px 5px;
- border-left-color: #000000;
-}
-.tooltip.bottom .tooltip-arrow {
- top: 0;
- left: 50%;
- margin-left: -5px;
- border-width: 0 5px 5px;
- border-bottom-color: #000000;
-}
-.tooltip.bottom-left .tooltip-arrow {
- top: 0;
- right: 5px;
- margin-top: -5px;
- border-width: 0 5px 5px;
- border-bottom-color: #000000;
-}
-.tooltip.bottom-right .tooltip-arrow {
- top: 0;
- left: 5px;
- margin-top: -5px;
- border-width: 0 5px 5px;
- border-bottom-color: #000000;
-}
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2011-2015 Twitter, Inc. (Bootstrap (http://getbootstrap.com))
+ * SPDX-License-Identifier: MIT
+ */.tooltip{position:absolute;display:block;font-family:var(--font-face);font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;overflow-wrap:anywhere;font-size:12px;opacity:0;z-index:100000;margin-top:-3px;padding:10px 0;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.tooltip.in,.tooltip.show,.tooltip.tooltip[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}.tooltip.top .tooltip-arrow,.tooltip[x-placement^=top]{inset-inline-start:50%;margin-inline-start:-10px}.tooltip.bottom,.tooltip[x-placement^=bottom]{margin-top:3px;padding:10px 0}.tooltip.right,.tooltip[x-placement^=right]{margin-inline-start:3px;padding:0 10px}.tooltip.right .tooltip-arrow,.tooltip[x-placement^=right] .tooltip-arrow{top:50%;inset-inline-start:0;margin-top:-10px;border-width:10px 10px 10px 0;border-inline-end-color:var(--color-main-background)}.tooltip.left,.tooltip[x-placement^=left]{margin-inline-start:-3px;padding:0 5px}.tooltip.left .tooltip-arrow,.tooltip[x-placement^=left] .tooltip-arrow{top:50%;inset-inline-end:0;margin-top:-10px;border-width:10px 0 10px 10px;border-inline-start-color:var(--color-main-background)}.tooltip.top .tooltip-arrow,.tooltip.top .arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-left .arrow,.tooltip[x-placement^=top] .tooltip-arrow,.tooltip[x-placement^=top] .arrow,.tooltip.top-right .tooltip-arrow,.tooltip.top-right .arrow{bottom:0;border-width:10px 10px 0;border-top-color:var(--color-main-background)}.tooltip.top-left .tooltip-arrow{inset-inline-end:10px;margin-bottom:-10px}.tooltip.top-right .tooltip-arrow{inset-inline-start:10px;margin-bottom:-10px}.tooltip.bottom .tooltip-arrow,.tooltip.bottom .arrow,.tooltip[x-placement^=bottom] .tooltip-arrow,.tooltip[x-placement^=bottom] .arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-left .arrow,.tooltip.bottom-right .tooltip-arrow,.tooltip.bottom-right .arrow{top:0;border-width:0 10px 10px;border-bottom-color:var(--color-main-background)}.tooltip[x-placement^=bottom] .tooltip-arrow,.tooltip.bottom .tooltip-arrow{inset-inline-start:50%;margin-inline-start:-10px}.tooltip.bottom-left .tooltip-arrow{inset-inline-end:10px;margin-top:-10px}.tooltip.bottom-right .tooltip-arrow{inset-inline-start:10px;margin-top:-10px}.tooltip-inner{max-width:350px;padding:5px 8px;background-color:var(--color-main-background);color:var(--color-main-text);text-align:center;border-radius:var(--border-radius)}.tooltip-arrow,.tooltip .arrow{position:absolute;width:0;height:0;border-color:rgba(0,0,0,0);border-style:solid}/*# sourceMappingURL=tooltip.css.map */
diff --git a/core/css/tooltip.css.map b/core/css/tooltip.css.map
new file mode 100644
index 00000000000..de218b7af69
--- /dev/null
+++ b/core/css/tooltip.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["tooltip.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GAMA,SACI,kBACA,cACA,6BACA,kBACA,mBACA,sBACA,gBACA,gBACA,iBACA,qBACA,iBACA,oBACA,mBACA,kBACA,oBACA,iBACA,uBACA,eACA,UACA,eAEA,gBACA,eACA,uDACA,8DAGI,mBACA,UACA,wBAEJ,uDAEI,uBACA,0BAEJ,8CAEI,eACA,eAEJ,4CAEI,wBACA,eACA,0EACI,QACA,qBACA,iBACA,8BACA,qDAGR,0CAEI,yBACA,cACA,wEACI,QACA,mBACA,iBACA,8BACA,uDAQJ,kPACI,SACA,yBACA,8CAGR,iCACI,sBACA,oBAEJ,kCACI,wBACA,oBAOA,0QACI,MACA,yBACA,iDAGR,4EAEI,uBACA,0BAEJ,oCACI,sBACA,iBAEJ,qCACI,wBACA,iBAIR,eACI,gBACA,gBACA,8CACA,6BACA,kBACA,mCAGJ,+BACI,kBACA,QACA,SACA,2BACA","file":"tooltip.css"} \ No newline at end of file
diff --git a/core/css/tooltip.css.map.license b/core/css/tooltip.css.map.license
new file mode 100644
index 00000000000..006d4f89ab4
--- /dev/null
+++ b/core/css/tooltip.css.map.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2011-2015 Twitter, Inc. (Bootstrap (http://getbootstrap.com))
+SPDX-License-Identifier: MIT
diff --git a/core/css/tooltip.scss b/core/css/tooltip.scss
new file mode 100644
index 00000000000..7f8b76eea06
--- /dev/null
+++ b/core/css/tooltip.scss
@@ -0,0 +1,133 @@
+/*!
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2011-2015 Twitter, Inc. (Bootstrap (http://getbootstrap.com))
+ * SPDX-License-Identifier: MIT
+ */
+
+.tooltip {
+ position: absolute;
+ display: block;
+ font-family: var(--font-face);
+ font-style: normal;
+ font-weight: normal;
+ letter-spacing: normal;
+ line-break: auto;
+ line-height: 1.6;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ white-space: normal;
+ word-break: normal;
+ word-spacing: normal;
+ word-wrap: normal;
+ overflow-wrap: anywhere;
+ font-size: 12px;
+ opacity: 0;
+ z-index: 100000;
+ /* default to top */
+ margin-top: -3px;
+ padding: 10px 0;
+ filter: drop-shadow(0 1px 10px var(--color-box-shadow));
+ &.in,
+ &.show,
+ &.tooltip[aria-hidden='false'] {
+ visibility: visible;
+ opacity: 1;
+ transition: opacity .15s;
+ }
+ &.top .tooltip-arrow,
+ &[x-placement^='top'] {
+ inset-inline-start: 50%;
+ margin-inline-start: -10px;
+ }
+ &.bottom,
+ &[x-placement^='bottom'] {
+ margin-top: 3px;
+ padding: 10px 0;
+ }
+ &.right,
+ &[x-placement^='right'] {
+ margin-inline-start: 3px;
+ padding: 0 10px;
+ .tooltip-arrow {
+ top: 50%;
+ inset-inline-start: 0;
+ margin-top: -10px;
+ border-width: 10px 10px 10px 0;
+ border-inline-end-color: var(--color-main-background);
+ }
+ }
+ &.left,
+ &[x-placement^='left'] {
+ margin-inline-start: -3px;
+ padding: 0 5px;
+ .tooltip-arrow {
+ top: 50%;
+ inset-inline-end: 0;
+ margin-top: -10px;
+ border-width: 10px 0 10px 10px;
+ border-inline-start-color: var(--color-main-background);
+ }
+ }
+ /* TOP */
+ &.top,
+ &.top-left,
+ &[x-placement^='top'],
+ &.top-right {
+ .tooltip-arrow, .arrow {
+ bottom: 0;
+ border-width: 10px 10px 0;
+ border-top-color: var(--color-main-background);
+ }
+ }
+ &.top-left .tooltip-arrow {
+ inset-inline-end: 10px;
+ margin-bottom: -10px;
+ }
+ &.top-right .tooltip-arrow {
+ inset-inline-start: 10px;
+ margin-bottom: -10px;
+ }
+ /* BOTTOM */
+ &.bottom,
+ &[x-placement^='bottom'],
+ &.bottom-left,
+ &.bottom-right {
+ .tooltip-arrow, .arrow {
+ top: 0;
+ border-width: 0 10px 10px;
+ border-bottom-color: var(--color-main-background);
+ }
+ }
+ &[x-placement^='bottom'] .tooltip-arrow,
+ &.bottom .tooltip-arrow {
+ inset-inline-start: 50%;
+ margin-inline-start: -10px;
+ }
+ &.bottom-left .tooltip-arrow {
+ inset-inline-end: 10px;
+ margin-top: -10px;
+ }
+ &.bottom-right .tooltip-arrow {
+ inset-inline-start: 10px;
+ margin-top: -10px;
+ }
+}
+
+.tooltip-inner {
+ max-width: 350px;
+ padding: 5px 8px;
+ background-color: var(--color-main-background);
+ color: var(--color-main-text);
+ text-align: center;
+ border-radius: var(--border-radius);
+}
+
+.tooltip-arrow, .tooltip .arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
diff --git a/core/css/variables.css b/core/css/variables.css
new file mode 100644
index 00000000000..90ef0f57e18
--- /dev/null
+++ b/core/css/variables.css
@@ -0,0 +1,4 @@
+/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ *//*# sourceMappingURL=variables.css.map */
diff --git a/core/css/variables.css.map b/core/css/variables.css.map
new file mode 100644
index 00000000000..a2b81c09e32
--- /dev/null
+++ b/core/css/variables.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["variables.scss"],"names":[],"mappings":"AAEA;AAAA;AAAA;AAAA","file":"variables.css"} \ No newline at end of file
diff --git a/core/css/variables.css.map.license b/core/css/variables.css.map.license
new file mode 100644
index 00000000000..b62adf36215
--- /dev/null
+++ b/core/css/variables.css.map.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/variables.scss b/core/css/variables.scss
new file mode 100644
index 00000000000..f750b844f0f
--- /dev/null
+++ b/core/css/variables.scss
@@ -0,0 +1,102 @@
+@use 'sass:color';
+
+/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+// SCSS darken/lighten function override
+@function nc-darken($color, $value) {
+ @return color.adjust($color, $lightness: - $value, $space: hsl);
+}
+
+@function nc-lighten($color, $value) {
+ @return color.adjust($color, $lightness: $value, $space: hsl);
+}
+
+// SCSS variables
+// DEPRECATED, please use CSS4 vars
+$color-main-text: #222 !default; // Not #000 for better readability
+$color-main-background: #fff !default;
+$color-main-background-translucent: rgba($color-main-background, .97) !default;
+
+// used for different active/hover/focus/disabled states
+$color-background-hover: nc-darken($color-main-background, 4%) !default;
+$color-background-dark: nc-darken($color-main-background, 7%) !default;
+$color-background-darker: nc-darken($color-main-background, 14%) !default;
+
+$color-placeholder-light: nc-darken($color-main-background, 10%) !default;
+$color-placeholder-dark: nc-darken($color-main-background, 20%) !default;
+
+$color-primary: #0082c9 !default;
+$color-primary-hover: color.mix($color-primary, $color-main-background, 80%) !default;
+
+$color-primary-light: color.mix($color-primary, $color-main-background, 10%) !default;
+$color-primary-light-text: $color-primary !default;
+$color-primary-light-hover: color.mix($color-primary-light, $color-main-text, 95%) !default;
+
+$color-primary-text: #ffffff !default;
+// do not use nc-darken/lighten in case of overriding because
+// primary-text is independent of color-main-text
+$color-primary-element-text-dark: color.adjust($color-primary-text, $lightness: -7%, $space: hsl) !default;
+$color-primary-element: $color-primary !default;
+$color-primary-element-hover: color.mix($color-primary-element, $color-main-background, 80%) !default;
+$color-primary-element-light: color.adjust($color-primary-element, $lightness: 15%, $space: hsl) !default;
+
+$color-error: #e9322d;
+$color-error-hover: color.mix($color-error, $color-main-background, 80%) !default;
+$color-warning: #eca700;
+$color-warning-hover: color.mix($color-warning, $color-main-background, 80%) !default;
+$color-success: #46ba61;
+$color-success-hover: color.mix($color-success, $color-main-background, 80%) !default;
+// used for svg
+$color-white: #fff;
+$color-black: #000;
+$color-yellow: #FC0;
+
+// rgb(118, 118, 118) / #767676
+// min. color contrast for normal text on white background according to WCAG AA
+// (Works as well: color: #000; opacity: 0.57;)
+$color-text-maxcontrast: nc-lighten($color-main-text, 33%) !default;
+$color-text-light: $color-main-text !default;
+$color-text-lighter: $color-text-maxcontrast !default;
+
+$image-logo: url('../img/logo/logo.svg?v=1') !default;
+$image-login-background: url('../img/background.png?v=2') !default;
+$image-logoheader: url('../img/logo/logo.svg?v=1') !default;
+$image-favicon: url('../img/logo/logo.svg?v=1') !default;
+
+$color-loading-light: #ccc !default;
+$color-loading-dark: #444 !default;
+
+$color-box-shadow: color.adjust(nc-darken($color-main-background, 70%), $alpha: -0.5, $space: hsl) !default;
+
+// light border like file table or app-content list
+$color-border: nc-darken($color-main-background, 7%) !default;
+// darker border like inputs or very visible elements
+$color-border-dark: nc-darken($color-main-background, 14%) !default;
+
+$border-radius: 3px !default;
+$border-radius-large: 10px !default;
+// Pill-style button, value is large so big buttons also have correct roundness
+$border-radius-pill: 100px !default;
+
+$font-face: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen-Sans, Cantarell, Ubuntu, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
+$default-font-size: 15px;
+
+$default-line-height: 24px;
+
+$animation-quick: 100ms;
+$animation-slow: 300ms;
+
+// various structure data
+$header-height: 50px;
+$navigation-width: 300px;
+$sidebar-min-width: 300px;
+$sidebar-max-width: 500px;
+$list-min-width: 200px;
+$list-max-width: 300px;
+$header-menu-item-height: 44px;
+$header-menu-profile-item-height: 66px;
+
+// mobile. Keep in sync with core/js/js.js
+$breakpoint-mobile: 1024px;
diff --git a/core/css/whatsnew.css b/core/css/whatsnew.css
new file mode 100644
index 00000000000..638b4a53eb1
--- /dev/null
+++ b/core/css/whatsnew.css
@@ -0,0 +1,4 @@
+/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */.whatsNewPopover{bottom:35px !important;inset-inline-start:15px !important;width:270px;z-index:700}.whatsNewPopover p{width:auto !important}.whatsNewPopover .caption{font-weight:bold;cursor:auto !important}.whatsNewPopover .icon-close{position:absolute;inset-inline-end:0}.whatsNewPopover::after{content:none}/*# sourceMappingURL=whatsnew.css.map */
diff --git a/core/css/whatsnew.css.map b/core/css/whatsnew.css.map
new file mode 100644
index 00000000000..aebcf43e461
--- /dev/null
+++ b/core/css/whatsnew.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["whatsnew.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAIA,iBACE,uBACA,mCACA,YACA,YAGF,mBACE,sBAGF,0BACE,iBACA,uBAGF,6BACE,kBACA,mBAGF,wBACE","file":"whatsnew.css"} \ No newline at end of file
diff --git a/core/css/whatsnew.css.map.license b/core/css/whatsnew.css.map.license
new file mode 100644
index 00000000000..b62adf36215
--- /dev/null
+++ b/core/css/whatsnew.css.map.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/whatsnew.scss b/core/css/whatsnew.scss
new file mode 100644
index 00000000000..c4698e397cc
--- /dev/null
+++ b/core/css/whatsnew.scss
@@ -0,0 +1,28 @@
+/*!
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+.whatsNewPopover {
+ bottom: 35px !important;
+ inset-inline-start: 15px !important;
+ width: 270px;
+ z-index: 700;
+}
+
+.whatsNewPopover p {
+ width: auto !important;
+}
+
+.whatsNewPopover .caption {
+ font-weight: bold;
+ cursor: auto !important;
+}
+
+.whatsNewPopover .icon-close {
+ position: absolute;
+ inset-inline-end: 0;
+}
+
+.whatsNewPopover::after {
+ content: none;
+}