.ss-login-layout {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 100vh;
    width: 100%;
    padding: 28px 16px;
}
.ss-login-layout .main-login-div.ss-login-card {
    position: static;
    transform: none;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 480px;
    margin: 0;
    padding: 32px !important;
}
.ss-login-layout .ss-login-card .login-row { min-height: 0; }
.ss-login-layout .ss-login-card #login-logo { width: 132px; height: 128px; margin-bottom: 12px; }
.ss-login-layout .ss-login-card .solumus-survey-invitation {
    box-sizing: border-box;
    width: 100%;
    margin: 24px 0 0;
    padding: 20px 0 0;
    border: 0;
    border-top: 1px solid #dce5ed;
    border-radius: 0;
    text-align: left;
    color: #102e48;
}
.ss-login-layout .solumus-survey-invitation #ss-invitation-heading { margin: 0 0 5px; font-size: 18px; font-weight: 700; line-height: 1.35; color: #102e48; }
.ss-login-layout .ss-login-card .ss-invitation-note { margin: 0 0 14px; font-size: 14px; line-height: 1.45; color: #4c6275; }
.ss-login-layout .solumus-survey-invitation ul { margin: 0; padding: 0; list-style: none; }
.ss-login-layout .solumus-survey-invitation li + li { margin-top: 10px; }
.ss-login-layout .solumus-survey-invitation .ss-invitation-link {
    display: block;
    box-sizing: border-box;
    min-height: 44px;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #cbdde9;
    border-radius: 12px;
    background: #f0f7fc;
    color: #102e48;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    transition: border-color .15s;
}
.ss-login-layout .solumus-survey-invitation .ss-invitation-link:hover { background: #e3f1fa; border-color: #4b8eaf; text-decoration: none; }
.ss-login-layout .solumus-survey-invitation .ss-invitation-link:focus-visible { outline: 3px solid #087ba9; outline-offset: 3px; }
.ss-login-layout .ss-invitation-title { display: block; font-size: 14px; font-weight: 600; line-height: 1.45; color: #102e48; }
.ss-login-layout .ss-invitation-hint { display: block; margin-top: 5px; font-size: 12px; line-height: 1.4; color: #4c6275; }
.ss-login-layout .ss-invitation-action { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; font-size: 14px; font-weight: 700; line-height: 1.4; color: #00658e; }
body.dark .ss-login-layout .solumus-survey-invitation { border-top-color: #435264; }
body.dark .ss-login-layout .solumus-survey-invitation #ss-invitation-heading,
body.dark .ss-login-layout .ss-invitation-title { color: #fff; }
body.dark .ss-login-layout .ss-login-card .ss-invitation-note,
body.dark .ss-login-layout .ss-invitation-hint { color: #c4d6e3; }
body.dark .ss-login-layout .solumus-survey-invitation .ss-invitation-link { background: #15364d; border-color: #4a6478; color: #fff; }
body.dark .ss-login-layout .solumus-survey-invitation .ss-invitation-link:hover { background: #1d4560; border-color: #85c7e7; }
body.dark .ss-login-layout .ss-invitation-action { color: #91d8ff; }
body.dark .ss-login-layout .solumus-survey-invitation .ss-invitation-link:focus-visible { outline-color: #91d8ff; }
@media (max-width: 540px) {
    .ss-login-layout { padding: 20px 12px; }
    .ss-login-layout .main-login-div.ss-login-card { padding: 26px 22px !important; border-radius: 26px; }
    .ss-login-layout .ss-login-card #login-logo { width: 116px; height: 112px; }
    .ss-login-layout .solumus-survey-invitation .ss-invitation-link { padding: 12px; }
}
.ss-survey-popup-open { overflow: hidden; }
dialog.ss-survey-dialog {
    box-sizing: border-box;
    width: min(960px, calc(100vw - 32px));
    max-width: none;
    height: min(850px, calc(100vh - 32px));
    height: min(850px, calc(100dvh - 32px));
    max-height: none;
    padding: 0;
    border: 0;
    border-radius: 18px;
    background: #fff;
    color: #102e48;
    overflow: hidden;
    box-shadow: 0 24px 90px #001b3980;
}
dialog.ss-survey-dialog[open] { display: flex; flex-direction: column; }
dialog.ss-survey-dialog::backdrop { background: #082239b8; backdrop-filter: blur(3px); }
.ss-survey-dialog-header { display: flex; align-items: center; gap: 18px; flex: 0 0 auto; padding: 18px 22px; border-bottom: 1px solid #dce5ed; }
.ss-survey-dialog-heading { flex: 1; min-width: 0; }
.ss-survey-dialog #ss-survey-dialog-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; margin: 0; font-size: 18px; font-weight: 700; line-height: 1.35; color: #102e48; }
.ss-survey-dialog .ss-survey-dialog-status { margin: 5px 0 0; font-size: 13px; color: #4c6275; }
.ss-survey-dialog .ss-survey-dialog-close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid #cbdde9; border-radius: 10px; background: #f0f7fc; color: #102e48; font: 28px/1 Arial,sans-serif; cursor: pointer; }
.ss-survey-dialog .ss-survey-dialog-close:hover { background: #dceef9; }
.ss-survey-dialog .ss-survey-dialog-close:focus-visible { outline: 3px solid #087ba9; outline-offset: 2px; }
.ss-survey-dialog-frame { flex: 1 1 auto; width: 100%; min-height: 0; border: 0; background: #fff; }
@media (max-width: 600px) {
    dialog.ss-survey-dialog { width: calc(100vw - 16px); height: calc(100vh - 16px); height: calc(100dvh - 16px); border-radius: 14px; }
    .ss-survey-dialog-header { gap: 10px; padding: 12px; }
    .ss-survey-dialog #ss-survey-dialog-title { font-size: 15px; }
}

.ss-login-contact { display:flex; align-items:center; justify-content:center; gap:9px; position:static; margin:16px 0 0; line-height:1.4; }
.ss-login-contact svg { width:18px; height:18px; flex:0 0 18px; color:#087ba9; }
.ss-login-contact a { white-space:nowrap; font-size:14px; }
body.dark .ss-login-contact svg { color:#91d8ff; }

.ss-account-invitation { padding: 12px 20px; text-align: center; background: #edf6fc; color: #102e48; }
.ss-account-invitation a { color: #075d86; }
