:root{--research-blue:#001f4b;--research-ink:#1b2c41}
header.navbar.bg-light{background-color:var(--research-blue)!important}
header.navbar .navbar-brand{display:flex!important;align-items:center;gap:12px;padding:10px 0}
header.navbar .navbar-brand::before{content:"";display:block;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#fff url('/forms/upload/themes/survey/spbu_research/images/cat.jpeg') center/cover no-repeat}
main.outerframe{max-width:960px;margin:24px auto;padding:0 24px}
header.navbar.fixed-top{position:sticky!important;top:0;z-index:1000}
body{padding-top:0!important}
main.outerframe{hyphens:none!important}
main.outerframe .question-number,main.outerframe .group-title{display:none}
main.outerframe .survey-welcome,main.outerframe .survey-description{color:var(--research-ink)!important;font-weight:400!important;font-size:17px;line-height:1.7;text-align:left}
.research-completion-nav{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:24px 0 0}
.research-site-nav{display:flex;margin:0 0 12px}
.research-site-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:10px;color:var(--research-blue);font-size:15px;font-weight:600;text-decoration:none}
.research-site-nav a:hover{background:#e3ebf7;text-decoration:underline}
.btn-outline-primary,.btn-outline-secondary{color:var(--research-blue)!important;border-color:#8da6c5!important}
.ls-questionhelp.text-info{color:#335071!important}
.radio-item input[type=radio]:checked+label::after{background-color:var(--research-blue)!important}
.checkbox-item input[type=checkbox]:checked+label::before{background-color:var(--research-blue)!important;border-color:var(--research-blue)!important}
.completed-wrapper{background:#fff;border:1px solid #dce4ef;box-shadow:0 4px 20px #001f4b08;padding:32px!important;margin:24px auto;max-width:880px;font-size:18px;line-height:1.7}
html{overflow-x:clip}body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important;background:#f3f6fb!important;color:var(--research-ink)!important;font-size:16px;line-height:1.6}
.navbar{background:var(--research-blue)!important;border:0!important;color:white}
.navbar a,.navbar .navbar-brand{color:#fff!important}.navbar-brand{white-space:normal;height:auto;font-size:16px;line-height:1.4}
.question-container,.group-container,.survey-welcome,.completed-wrapper{border-radius:16px!important}
.question-container{background:#fff!important;border:1px solid #dce4ef!important;box-shadow:0 4px 20px #001f4b08;padding:24px!important;margin-bottom:20px!important}
.question-title-container{font-size:18px;line-height:1.5;color:var(--research-ink)}
.btn-primary,.progress-bar{background:var(--research-blue)!important;border-color:var(--research-blue)!important}.btn{border-radius:10px!important;min-height:44px;padding:10px 18px;white-space:normal}
a{color:#124b8b}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #316ec4!important;outline-offset:3px}
label{overflow-wrap:break-word;line-height:1.5}.radio-item,.checkbox-item{min-height:44px;padding-top:8px;padding-bottom:8px}
/* Centre the 17px ring and 11px dot on the first 1.5em text line, including wrapped labels. */
.radio-item > label::before{top:calc(.75em - 8.5px)}
.radio-item > label::after{top:calc(.75em - 5.5px)}
.research-nowrap{white-space:nowrap;overflow-wrap:normal}
.form-control{min-height:44px;font-size:16px;border-radius:8px!important}.text-danger,.error{color:#a32525!important}.alert-danger{background:#fff0ef;color:#8b2020;border-color:#e7b9b5;border-radius:10px}
.table-responsive{max-width:100%;overflow-x:auto}.answer-container{min-width:0}.container,.container-fluid{max-width:100%}
@media(max-width:600px){body{padding-top:0!important}.container,.container-fluid{padding-left:16px;padding-right:16px}.question-container{padding:18px 14px!important}.question-title-container{font-size:17px}.navbar-brand{font-size:14px;max-width:85%}.question-container .table{font-size:15px}.question-container td{min-width:44px}.question-container th{overflow-wrap:break-word}.question-container .research-matrix thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.research-matrix,.research-matrix tbody,.research-matrix tr,.research-matrix td,.research-matrix tbody th{display:block!important;width:100%!important}.research-matrix tbody tr{padding:14px 0;border-bottom:1px solid #dce4ef}.research-matrix tbody td{display:flex!important;align-items:center;justify-content:flex-start;gap:8px;min-height:48px;border:0!important;text-align:left!important}.research-matrix td[data-research-label]::before{content:none}.research-matrix td label{min-width:44px;min-height:44px}.research-matrix tbody th{border:0!important;text-align:left!important;padding:10px 0;font-size:16px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
