:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#1d2125;font-size:18px;line-height:1.5;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100svh;background:linear-gradient(110deg,#f8f9fa 0%,#e0e4e7 100%);display:flex;align-items:center;justify-content:center;padding:32px 16px}
.login-card{width:500px;max-width:100%;background:#fff;padding:48px;border-radius:8px;box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}
.login-logo{display:block;width:200px;height:200px;max-width:100%;object-fit:contain;margin:0 auto 24px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.login-card label{display:block;margin:0 0 12px;font-size:17px}.login-card input[type=email]{display:block;width:100%;height:48px;padding:8px 16px;font:inherit;color:#1d2125;background:#fff;border:1px solid #8f959e;border-radius:10px;margin-bottom:16px}
.login-card input::placeholder{color:#6a737b;opacity:1}.login-card input:focus{border-color:#003d82;outline:3px solid rgba(0,61,130,.2);outline-offset:1px}
.login-card button,.login-card .button{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:46px;padding:8px 16px;font:inherit;line-height:1.5;text-decoration:none;white-space:normal;text-align:center;border:1px solid transparent;border-radius:10px;cursor:pointer}
.login-card button{background:#003d82;color:#fff}.login-card button:hover{background:#002b5c}button:focus-visible,a:focus-visible{outline:3px solid #338bd6;outline-offset:3px}a{color:#003d82}p{margin:0 0 16px}.notice{padding:12px 16px;margin-bottom:20px;background:#eef5ff;border:1px solid #c7def9;border-radius:8px;font-size:16px}
.login-hint{font-size:15px;color:#6a737b;margin:16px 0 0}.login-footer{border-top:1px solid #dee2e6;padding-top:24px;margin-top:30px}.login-card .policy-button{background:#ced4da;color:#1d2125;border-radius:8px;font-size:15px;min-height:44px;padding:10px 12px}.login-card .policy-button:hover{background:#bfc6cd;color:#1d2125}
.login-link{display:inline-block;margin-top:20px;font-size:17px}[hidden]{display:none!important}
.registration-link{margin:16px 0 0;font-size:16px}.registration-link a{font-weight:600;text-underline-offset:3px}
.trds-auth-page body{flex-direction:column;gap:24px}
.trds-auth-page .auth-faq-slot .trds-chat-faq-open{min-height:50px;padding:10px 28px;gap:10px;border:0;border-radius:28px;background:#293b5b;color:#fff;box-shadow:0 4px 12px #17283e30;font-size:16px!important;font-weight:600!important}
.trds-auth-page .auth-faq-slot .trds-chat-faq-open:hover{background:#21314d}
.trds-auth-page .auth-faq-slot .trds-chat-faq-icon{width:24px;height:24px;flex:0 0 24px;font-size:16px}
.trds-auth-page .auth-faq-slot .trds-chat-faq-open>span:last-child{order:0;width:auto;white-space:nowrap;line-height:1.2}
@media(max-width:540px){body{padding:20px 16px}.login-card{padding:32px 24px}.login-logo{width:180px;height:180px}.login-card .policy-button{width:100%}}

/* Only the magic-link request page uses the horizontal chat launcher. */
.trds-auth-page .trds-chat-launcher {
    top: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(20px, env(safe-area-inset-bottom));
    left: auto;
    transform: none;
    width: auto;
    height: 60px;
    min-height: 60px;
    padding: 0 60px 0 0;
    border-radius: 30px;
    flex-direction: row;
    gap: 0;
    background: transparent;
    box-shadow: none;
    isolation: isolate;
}
.trds-auth-page .trds-chat-launcher::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 60px;
    height: 60px;
    border: 2px solid #a88b62;
    border-radius: 50%;
    background: #487db8;
    box-shadow: 0 4px 16px #17283e26;
    z-index: -1;
}
.trds-auth-page .trds-chat-launcher svg {
    position: absolute;
    right: 14px;
    width: 32px;
    height: 32px;
}
.trds-auth-page .trds-chat-launcher-label {
    display: block;
    writing-mode: horizontal-tb;
    transform: none;
    margin-right: -18px;
    padding: 13px 32px 13px 22px;
    border-radius: 24px 0 0 24px;
    background: #293449;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
    box-shadow: 0 4px 16px #17283e1a;
    position: relative;
    z-index: -2;
}
.trds-auth-page .trds-chat-launcher:hover { background: transparent; }
.trds-auth-page .trds-chat-launcher:hover::before { background: #386da7; }
.trds-auth-page .trds-chat-launcher:hover .trds-chat-launcher-label { background: #202b3e; }
.trds-auth-page body { padding-bottom: 100px; }

/* On this page the FAQ is a separate, content-height panel beside the form. */
.trds-auth-page body.auth-faq-open {
    display: grid;
    grid-template-columns: minmax(0, 520px) minmax(0, 500px);
    column-gap: 32px;
    row-gap: 24px;
    align-content: center;
    align-items: start;
    justify-content: center;
    padding-bottom: 32px;
}
.trds-auth-page body.auth-faq-open .login-card { grid-column: 2; grid-row: 1; }
.trds-auth-page body.auth-faq-open .auth-faq-slot,
.trds-auth-page body.auth-faq-open .auth-faq-slot .trds-chat { display: contents; }
.trds-auth-page body.auth-faq-open .trds-chat-faq-open { grid-column: 2; grid-row: 2; justify-self: center; }
.trds-auth-page .auth-faq-slot .trds-chat-faq {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: 520px;
    height: auto;
    max-height: none;
    border: 1px solid #e0e7ee;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 48px #0d23382b;
}
.trds-auth-page .auth-faq-slot .trds-chat-faq-content { flex: none; max-height: none; overflow: visible; }
.trds-auth-page body.auth-faq-open .trds-chat-faq { grid-column: 1; grid-row: 1 / span 2; }
@media (max-width: 1000px) {
    .trds-auth-page body.auth-faq-open { display: flex; flex-direction: column; align-items: center; padding-bottom: 100px; }
    .trds-auth-page body.auth-faq-open .auth-faq-slot { display: block; width: min(100%, 520px); }
    .trds-auth-page body.auth-faq-open .auth-faq-slot .trds-chat { display: flex; flex-direction: column; align-items: center; gap: 20px; }
    .trds-auth-page body.auth-faq-open .trds-chat-faq-open { order: 0; }
    .trds-auth-page body.auth-faq-open .trds-chat-faq { order: 1; }
}

.notice.notice-error{color:#842029;background:#f8d7da;border-color:#f5c2c7}
