/* Public authentication pages: fixed dark PrintDesk theme. */
html[data-theme] body {
    min-height: 100vh;
    padding-bottom: 0 !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(18, 94, 220, .14), transparent 34%),
        #0f151d;
    color: #eef3f8;
}

.topbar {
    height: 60px;
    background: #07111f;
    border-bottom: 1px solid #213149;
    padding: 0 14px;
}

.topbar .brand {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding-left: 40px;
    position: relative;
    font-size: 20px;
    font-weight: 750;
    letter-spacing: -.02em;
    text-decoration: none;
    background: url('/static/favicon-192x192.png?v=20260911') left center / 32px 32px no-repeat;
}

.topbar .brand .pd-brand-logo-top {
    display: none;
}

.topbar .brand::before {
    content: 'Print';
    color: #0f6cff;
}

.topbar .brand::after {
    content: 'Desk';
    color: #dbe7f5;
    padding-right: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Ctext x='0' y='10' fill='%23dbe7f5' font-family='Arial,Helvetica,sans-serif' font-size='11' font-weight='700'%3E3D%3C/text%3E%3C/svg%3E") right 2px top 1px / 16px 10px no-repeat;
}

.container {
    margin: 0 auto;
    padding: 56px 16px;
}

.auth-card {
    width: min(460px, calc(100vw - 32px));
    max-width: 460px;
    margin: 0 auto;
    padding: 30px;
    background: #151d27;
    border: 1px solid #273445;
    border-radius: 18px;
    color: #eef3f8;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .32);
}

.pd-auth-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 0 0 26px;
    text-decoration: none;
}

.pd-auth-logo-icon {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    object-fit: contain;
}

.pd-auth-logo-text {
    display: flex;
    align-items: baseline;
    white-space: nowrap;
    font-size: 34px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: -.03em;
}

.pd-auth-logo-print { color: #0f6cff; }
.pd-auth-logo-desk { color: #dbe7f5; }

.pd-auth-logo-desk::after {
    content: "3D";
    display: inline-block;
    position: relative;
    top: -.65em;
    margin-left: .06em;
    font-size: .5em;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0;
    color: inherit;
}

.auth-card h1 {
    margin: 0 0 14px;
    color: #eef3f8;
    font-size: 30px;
    letter-spacing: -.025em;
}

.auth-card .muted,
.auth-card p {
    color: #98a8ba;
}

.auth-card form {
    margin-top: 22px;
}

.auth-card label {
    display: block;
    margin: 16px 0 7px;
    color: #c4ceda;
    font-size: 13px;
    font-weight: 700;
}

.auth-card input,
.auth-card select {
    width: 100%;
    padding: 12px 13px;
    border: 1px solid #334258;
    border-radius: 10px;
    background: #0f151d;
    color: #fff;
    outline: none;
    font: inherit;
}

.auth-card input:focus,
.auth-card select:focus {
    border-color: #2b6fdc;
    box-shadow: 0 0 0 3px rgba(43, 111, 220, .16);
}

.auth-card button,
.auth-card .button {
    min-height: 44px;
    margin-top: 18px;
    padding: 10px 17px;
    border: 0;
    border-radius: 9px;
    background: #1767e8;
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.auth-card button:hover,
.auth-card .button:hover {
    background: #0f5bd3;
}

.auth-card a {
    color: #79a9ff;
}

.auth-card .otp {
    color: #fff;
    background: #0f151d;
}

.auth-card .notice {
    background: #122642;
    color: #b9d4ff;
    border: 1px solid #294467;
}

.auth-card .error {
    background: #321b20;
    color: #ffb5c0;
    border: 1px solid #6e303d;
}

@media (max-width: 520px) {
    .container { padding: 34px 12px; }
    .auth-card { padding: 22px; border-radius: 16px; }
    .pd-auth-logo-icon { width: 48px; height: 48px; flex-basis: 48px; }
    .pd-auth-logo-text { font-size: 29px; }
}
