/*! * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2011 Jan-Christoph Borchardt, http://jancborchardt.net * SPDX-License-Identifier: AGPL-3.0-or-later */ @use 'variables'; @use 'sass:math'; @use 'functions'; input { &#openid, &#webdav { width: 20em; } } /* PERSONAL */ .clear { clear: both; } /* icons for sidebar */ .nav-icon-personal-settings { @include functions.icon-color('personal', 'settings', variables.$color-black); } .nav-icon-security { @include functions.icon-color('toggle-filelist', 'settings', variables.$color-black); } .nav-icon-clientsbox { @include functions.icon-color('change', 'settings', variables.$color-black); } .nav-icon-federated-cloud { @include functions.icon-color('share', 'settings', variables.$color-black); } .nav-icon-second-factor-backup-codes, .nav-icon-ssl-root-certificate { @include functions.icon-color('password', 'settings', variables.$color-black); } #personal-settings-avatar-container { display: inline-grid; grid-template-columns: 1fr; grid-template-rows: 2fr 1fr 2fr; vertical-align: top; } .profile-settings-container { display: inline-grid; grid-template-columns: 1fr 1fr 1fr; } .personal-show-container { width: 100%; } .personal-settings-setting-box { .section { padding: 10px 30px; .headerbar-label { margin-bottom: 0; } input { &[type='text'], &[type='email'], &[type='tel'], &[type='url'] { width: 100%; } } } &-profile { grid-row: 3/5; } &-detail { grid-row: 5; } &-detail--without-profile { grid-row: 3; } } select { &#timezone { width: 100%; } } #personal-settings { display: grid; padding: 20px; max-width: 1700px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); grid-column-gap: 10px; .section { padding: 10px 10px; border: 0; h2 { margin-bottom: 12px; } h3 { > label { font-weight: bold; } } } .personal-info { margin-inline-end: 10%; margin-bottom: 12px; margin-top: 12px; } .personal-info[class^='icon-'], .personal-info[class*=' icon-'] { background-position: 0px 2px; padding-inline-start: 30px; opacity: 0.7; } } // Button for 'Reasons to use Nextcloud in your organization' .development-notice { text-align: center; a:not(.link-button) { text-decoration: underline; } } .link-button { display: inline-flex; margin: calc(2 * var(--default-grid-baseline)); padding: calc(2 * var(--default-grid-baseline)) calc(4 * var(--default-grid-baseline)); background-color: var(--color-primary-element); color: var(--color-primary-element-text); border-radius: var(--border-radius-element); border: 1px solid var(--color-primary-element); box-shadow: 0 2px 9px var(--color-box-shadow); align-items: center; gap: calc(var(--default-grid-baseline) * 2); &:hover, &:focus { background-color: var(--color-primary-element-hover); } &:active, &:focus-visible { box-shadow: 0 0 0 4px var(--color-main-background) !important; outline: 2px solid var(--color-main-text) !important; } .icon-file-text { filter: var(--primary-invert-if-dark); width: 20px; height: 20px; } } .personal-settings-container { display: inline-grid; grid-template-columns: 1fr 1fr 1fr; &:after { clear: both; } > div { h3 { position: relative; display: inline-flex; flex-wrap: nowrap; justify-content: flex-start; width: 100%; align-items: center; gap: 8px; > label { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } } > form span { &[class^='icon-checkmark'], &[class^='icon-error'] { position: relative; inset-inline-end: 8px; top: -28px; pointer-events: none; float: right; } } } .verify { position: relative; inset-inline-start: 100%; top: 0; height: 0; img { padding: 12px 7px 6px; } } .verify-action { cursor: pointer; } input:disabled { background-color: white; color: black; border: none; opacity: 100; } } /* verify accounts */ /* only show pointer cursor when popup will be there */ .verification-dialog { display: none; inset-inline-end: -9px; top: 40px; width: 275px; p { padding: 10px; } .verificationCode { font-family: monospace; display: block; overflow-wrap: break-word; } } .federation-menu { position: relative; cursor: pointer; width: var(--default-clickable-area); height: var(--default-clickable-area); padding: calc(2 * var(--default-grid-baseline)); margin: 0; background: none; border: none; &:hover, &:focus { background-color: var(--color-background-hover); border-radius: var(--border-radius-element); .icon-federation-menu { opacity: 0.8; } } .icon-federation-menu { padding-inline-start: 16px; background-size: 16px; background-position: left center; opacity: .3; cursor: inherit; .icon-triangle-s { display: inline-block; vertical-align: middle; cursor: inherit; } } .federationScopeMenu { top: var(--default-clickable-area); &.popovermenu { .menuitem { // override h3 heading font size font-size: 12.8px; line-height: 1.6em; .menuitem-text-detail { opacity: .75; } &.active { box-shadow: inset 2px 0 var(--color-primary-element); .menuitem-text { font-weight: bold; } } &.disabled { opacity: .5; cursor: default; * { cursor: default; } } } } } } .clientsbox img { height: 60px; } #sslCertificate { tr.expired { background-color: rgba(255, 0, 0, 0.5); } td { padding: 5px; } } #displaynameerror, #displaynamechanged { display: none; } input#identity { width: 20em; } #showWizard { display: inline-block; } .msg { &.success { color: #fff; background-color: #47a447; padding: 3px; } &.error { color: #fff; background-color: #d2322d; padding: 3px; } } table.nostyle { label { margin-inline-end: 2em; } td { padding: 0.2em 0; } } #security-password { #passwordform { display: flex; flex-wrap: wrap; flex-direction: column; gap: 1rem; .input-control { display: flex; flex-wrap: wrap; flex-direction: column; label { margin-bottom: 0.5rem; } } #pass1, .personal-show-container { flex-shrink: 1; width: 300px; min-width: 150px; } // Extremely fragile code, to be replaced by PasswordField component soon .personal-show-container { #pass2 { position: relative; top: 0.5rem; } .personal-show-label { top: 34px !important; margin-inline-end: 0; margin-top: 0 !important; inset-inline-end: 3px; } } #pass2 { width: 100%; } .password-state { display: inline-block; } .strengthify-wrapper { position: absolute; inset-inline-start: 0; width: 100%; border-radius: 0 0 2px 2px; margin-top: 5px; overflow: hidden; height: 3px; } } } /* Two-Factor Authentication (2FA) */ #two-factor-auth { h3 { margin-top: 24px; } li > div { margin-inline-start: 20px; } .two-factor-provider-settings-icon { width: 16px; height: 16px; filter: var(--background-invert-if-dark); } } /* USERS */ .isgroup { .groupname { width: 85%; display: block; overflow: hidden; text-overflow: ellipsis; } &.active .groupname { width: 65%; } } li.active { .delete, .rename { display: block; } } .app-navigation-entry-utils { .delete, .rename { display: none; } } #usersearchform { position: absolute; top: 2px; inset-inline-end: 0; input { width: 150px; } label { font-weight: bold; } } /* display table at full width */ table.grid { width: 100%; th { height: 2em; padding: 0; padding-inline-end: 1em; border-bottom: 1px solid var(--color-border); text-align: start; font-weight: normal; } td { border-bottom: 1px solid var(--color-border); padding: 0; padding-inline-end: 1em; text-align: start; font-weight: normal; } } td, th { &.name { padding-inline-start: .8em; min-width: 5em; max-width: 12em; text-overflow: ellipsis; overflow: hidden; } &.password { padding-inline-start: .8em; > img { visibility: hidden; } } &.displayName > img { visibility: hidden; } &.password, &.mailAddress { min-width: 5em; max-width: 12em; cursor: pointer; span { width: 90%; display: inline-block; text-overflow: ellipsis; overflow: hidden; } } &.mailAddress { cursor: pointer; } &.password > span { margin-inline-end: 1.2em; color: #C7C7C7; } } span.usersLastLoginTooltip { white-space: nowrap; } /* SETTINGS NAVIGATION */ #app-navigation { /* Navigation icons */ img { margin-bottom: -3px; margin-inline-end: 6px; width: 16px; } li span.no-icon { padding-inline-start: 32px; } ul li.active > span.utils { .delete, .rename { display: block; } } } /* SETTINGS SECTIONS */ .section { margin-bottom: 0; /* section divider lines, none needed for last one */ &:not(:last-child) { border-bottom: 1px solid var(--color-border); } /* correctly display help icons next to headings */ h2 { margin-bottom: 22px; .icon-info { padding: 6px 20px; vertical-align: text-bottom; display: inline-block; } } } /* LOG */ #log { white-space: normal; margin-bottom: 14px; } #lessLog { display: none; } table.grid td.date { white-space: nowrap; } #log-section p { margin-top: 20px; } #security-warning-state-ok, #security-warning-state-warning, #security-warning-state-failure, #security-warning-state-loading { span { vertical-align: middle; &.message { padding: 12px; } &.icon { width: 32px; height: 32px; background-position: center center; display: inline-block; border-radius: 50%; } &.icon-checkmark-white { background-color: var(--color-success); } &.icon-error-white { background-color: var(--color-warning); } &.icon-close-white { background-color: var(--color-error); } } } #shareAPI { &.loading > div { display: none; } p { padding-bottom: 0.8em; } .indent { padding-inline-start: 28px; } .double-indent { padding-inline-start: 56px; } .nocheckbox { padding-inline-start: 20px; } #s2id_linksExcludedGroups { width: 200px !important; } } #shareApiDefaultPermissionsSection label { margin-inline-end: 20px; } #fileSharingSettings h3 { display: inline-block; } #publicShareDisclaimerText { width: calc(100% - 23px); /* 20 px left margin, 3 px right margin */ max-width: 600px; height: 150px; margin-inline-start: 20px; box-sizing: border-box; } /* correctly display help icons next to headings */ .icon-info { padding: 11px 20px; vertical-align: text-bottom; opacity: .5; } #two-factor-auth h2, #shareAPI h2, #mail_general_settings h2 { display: inline-block; } .mail_settings p { label:first-child { display: inline-block; width: 300px; text-align: end; } select:nth-child(2), input:not([type='button']) { width: 143px; } } @media (max-width: calc(variables.$breakpoint-mobile * 0.75)) { .mail_settings p label:first-child { width: unset; text-align: start; display: block; margin-top: calc(var(--default-grid-baseline) * 2); } } #mail_smtpport { width: 60px; } .cronlog { margin-inline-start: 10px; } .status { display: inline-block; height: 16px; width: 16px; vertical-align: text-bottom; &.success { border-radius: 50%; } } #selectGroups select { box-sizing: border-box; display: inline-block; height: 36px; padding: 7px 10px; } #log .log-message { word-break: break-all; min-width: 180px; } span { &.success { background-color: var(--color-success); border-radius: var(--border-radius); } &.error { background-color: var(--color-error); } &.indeterminate { background-color: var(--color-warning); border-radius: 40% 0; } } /* OPERA hack for strengthify*/ doesnotexist:-o-prefocus, .strengthify-wrapper { inset-inline-start: 185px; width: 129px; } .trusted-domain-warning { color: #fff; padding: 5px; background: #ce3702; border-radius: 5px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; } #postsetupchecks { ul { margin-inline-start: 44px; list-style: disc; li { margin: 10px 0; } ul { list-style: circle; } } .loading { height: 50px; background-position: left center; } .errors, .errors a { color: var(--color-error); } .warnings, .warnings a { color: var(--color-warning); } .hint { margin: 20px 0; } } #security-warning { a { text-decoration: underline; } .extra-top-margin { margin-top: 12px; } } .security-warning__heading { display: flex; flex-wrap: wrap; margin-bottom: calc(var(--default-grid-baseline) * 8); > h2 { margin-bottom: 0px; } > a { width: 44px; } } #admin-tips li { list-style: initial; a { display: inline-block; padding: 3px 0; } } #warning { color: red; } .settings-hint { margin-top: -12px; margin-bottom: 12px; opacity: .7; } .animated { animation: blink-animation 1s steps(5, start) 4; } @keyframes blink-animation { to { opacity: 0.6; } } @-webkit-keyframes blink-animation { to { opacity: 1; } }