/* utilities.css */

.app-w-100 { width: 100%; }

/* hide elements (replaces inline style="display:none") */
.app-hidden { display: none !important; }
.app-autofill-trap {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

/* Try to hide LastPass overlay icons without affecting inputs */
[data-lastpass-icon-root],
[data-lastpass-root] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* small text blocks (replaces inline styles) */
.app-text-12-800 { font-weight: 800; font-size: 12px; }
.app-text-11-700 { font-weight: 700; font-size: 11px; white-space: normal; }
.app-text-12-900 { font-weight: 900; font-size: 12px; }

/* title variant for inner sections (replaces inline styles) */
.app-title--sm {
    font-size: 16px;
    margin-bottom: 8px;
}

/* pretty pre block (replaces inline styles on <pre>) */
.app-pretty {
    padding: 14px;
    white-space: pre-wrap;
    margin: 0;
}

.app-preline {
    white-space: pre-line;
}

body.app-dragging {
    user-select: none;
}

/* login layout */
body.app-page-login .app-shell {
    grid-template-columns: 1fr;
    max-width: 560px;
    margin: 0 auto; /* center the shell */
}

body.app-page-login .app-content {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 56px - 32px); /* topbar + padding */
}

body.app-page-login .app-card {
    width: 100%;
    max-width: 420px;
}
