/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ :host { overflow: hidden; --reveal-checkbox-opacity: .8; --reveal-checkbox-opacity-hover: .6; --reveal-checkbox-opacity-active: 1; } /* Only overwrite the deemphasized text color in non-dark mode. */ @media not (prefers-color-scheme: dark) { :host { --text-color-deemphasized: #737373; } } @media (prefers-color-scheme: dark) { :host { --reveal-checkbox-opacity: .8; --reveal-checkbox-opacity-hover: 1; --reveal-checkbox-opacity-active: .6; } } .container { overflow: auto; padding: 0 40px; box-sizing: border-box; height: 100%; } @media (max-width: 830px) { .container { padding-inline: 20px; } } .column { min-height: 100%; max-width: 700px; display: flex; flex-direction: column; } button { min-width: 100px; } form { flex-grow: 1; } :host([data-editing]) edit-button, :host([data-editing]) :is(.copy-button, .copied-button), :host([data-is-new-login]) delete-button, :host([data-is-new-login]) .origin-saved-value, :host([data-is-new-login]) login-timeline, :host([data-is-new-login]) .login-item-title, :host(:not([data-is-new-login])) .new-login-title, :host(:not([data-editing])) .form-actions-row { display: none; } input[type="password"], input[type="text"], input[type="url"] { text-align: match-parent !important; /* override `all: unset` in the rule below */ } :host(:not([data-editing])) input[type="password"]:read-only, input[type="text"]:read-only, input[type="url"]:read-only { all: unset; font-size: 1.1em; display: inline-block; background-color: transparent !important; /* override common.inc.css */ text-overflow: ellipsis; overflow: hidden; width: 100%; } /* We can't use `margin-inline-start` here because we force * the input to have dir="ltr", so we set the margin manually * using the parent element's directionality. */ .detail-cell:dir(ltr) input:not([type="checkbox"]) { margin-left: 0; } .detail-cell:dir(rtl) input:not([type="checkbox"]) { margin-right: 0; } .save-changes-button { margin-inline-start: 0; /* Align the button on the start side */ } .header { display: flex; align-items: center; margin-bottom: 40px; margin-top: 5px; } .title { margin-block: 0; flex-grow: 1; } origin-warning, password-warning { display: none; } input[type = "url"]:focus:not(:user-invalid):invalid ~ origin-warning, input[type = "url"]:focus:user-invalid:not(:placeholder-shown) ~ origin-warning { display: block; } input[name = "password"]:focus ~ password-warning { display: block; } .reveal-password-wrapper { display: flex; align-items: center; justify-content: space-between; } .detail-grid { display: grid; grid-template-columns: minmax(240px, max-content) auto; grid-template-rows: auto; column-gap: 20px; row-gap: 40px; justify-content: start; } :host([data-editing]) .detail-grid { grid-template-columns: auto; } :host([data-editing]) .detail-grid > .detail-row { display: flex; } .detail-grid > .detail-row:not([hidden]) { display: contents; } .detail-grid > .detail-row > .detail-cell { grid-column: 1; } .detail-grid > .detail-row > :is(.copy-button, .copied-button) { grid-column: 2; margin-inline-start: 0; /* Reset button's margin so it doesn't affect the overall grid's width */ justify-self: start; align-self: end; } .detail-row { display: flex; position: relative; /* Allows for the hint message to be positioned correctly */ } .detail-grid, .detail-row { margin-bottom: 40px; } .detail-cell { flex-grow: 1; min-width: 0; /* Allow long passwords to collapse down to flex item width */ } .field-label { display: block; margin-bottom: 8px; } moz-button-group, :host([data-editing]) .detail-cell input:read-write:not([type="checkbox"]), :host([data-editing]) input[type="password"]:read-only { width: 298px; box-sizing: border-box; } .copy-button, .copied-button { margin-bottom: 0; /* Align button at the bottom of the row */ } .copied-button[data-copied]:focus-visible { outline-width: 0; box-shadow: none; } input.password-display, input[name="password"] { font-family: monospace !important; /* override `all: unset` in the rule above */ } .reveal-password-checkbox { appearance: none; background-image: url("resource://gre-resources/password.svg"); margin-inline: 10px 0; cursor: pointer; -moz-context-properties: fill; fill: currentColor; color: inherit; opacity: var(--reveal-checkbox-opacity); &:hover { opacity: var(--reveal-checkbox-opacity-hover); &:active { opacity: var(--reveal-checkbox-opacity-active); } } &:checked { background-image: url("resource://gre-resources/password-hide.svg"); } } .login-item-favicon { margin-inline-end: 12px; height: 24px; width: 24px; flex-shrink: 0; -moz-context-properties: fill, fill-opacity; fill: currentColor; fill-opacity: 0.75; } login-breach-alert, login-vulnerable-password-alert { margin-block-end: 40px; } login-command-button { margin-block-start: 4px; /* Focus did not display entirely on edit and remove with margin:0 */ } .alert-title { font-size: var(--font-size-xlarge); font-weight: var(--font-weight); line-height: 1em; margin-block: 0 12px; } .alert-date { display: block; font-weight: var(--font-weight-bold); } .alert-link:visited, .alert-link { font-weight: var(--font-weight-bold); overflow-wrap: anywhere; } .breach-alert > .alert-link:visited, .breach-alert > .alert-link { color: inherit; text-decoration: underline; } .alert-icon { position: absolute; inset-block-start: 16px; inset-inline-start: 32px; -moz-context-properties: fill; fill: currentColor; width: 24px; } .alert-learn-more-link:hover, .alert-learn-more-link:visited, .alert-learn-more-link { position: absolute; inset-block-start: 16px; inset-inline-end: 32px; color: inherit; font-size: var(--font-size-small); } .vulnerable-alert > .alert-learn-more-link { color: var(--text-color-deemphasized); } .error-message { color: #fff; background-color: var(--red-60); border: 1px solid transparent; padding-block: 6px; display: inline-block; padding-inline: 32px 16px; background-image: url("chrome://global/skin/icons/warning.svg"); background-repeat: no-repeat; background-position: left 10px center; -moz-context-properties: fill; fill: currentColor; margin-bottom: 38px; } .error-message:dir(rtl) { background-position-x: right 10px; } .error-message-link > a, .error-message-link > a:hover, .error-message-link > a:hover:active { color: currentColor; text-decoration: underline; font-weight: var(--font-weight-bold); } .action-buttons { display: flex; flex-direction: row; } .action-buttons .form-actions-row { margin-inline: 0 5px; }