body {
    font-family: 'Fira Sans', sans-serif;
}

html {
    color: #444444;
}

html::-webkit-scrollbar {
    display: none;
}

h1 {
    font-family: "Fira Sans", sans-serif;
}

h2 {
    font-family: "Fira Sans", sans-serif;
}

h3 {
    font-family: "Fira Sans", sans-serif;
}

mark {
    background-color: #ffff00;
}

.button-secondary {
    background: rgb(66, 184, 221);
}

.button-secondary-small {
    background: rgb(66, 184, 221);
    font-size: 70%;
}

.wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.l-box-my {
    padding-top: 1em;
    padding-left: 1em;
    padding-right: 1em;
}

.l-box-button {
    padding-top: 1em;
    padding-bottom: 1em;

    padding-right: 1em;
}

.l-box-my2 {
    padding-left: 2em;
    padding-right: 2em;
}

aside {
    background: whitesmoke;
    color: #444444;
    border: 1px solid #ccc;
    font-style: italic;
    line-height: 1.5em;
    padding: 1em 1em;
    margin-bottom: 1em;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}

.sidebar {
    display: flex;
    min-height: 100vh;
    background-color: #557a95;
}

.main-menu_div {
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 1em;
    color: whitesmoke;
}

.l-box-sm {
    padding-top: 1em;
    padding-left: 2em;
    padding-right: 1em;
}

.l-box-md {
    padding: 2em;
}

.l-box-lg {
    padding: 3em;
}

/* Статус "Активна" */
.summary-1 {
    background: rgb(223, 242, 221);
    background: -moz-linear-gradient(90deg, rgba(223, 242, 221, 1) 25%, rgba(208, 208, 208, 0.01) 75%);
    background: -webkit-linear-gradient(90deg, rgba(223, 242, 221, 1) 25%, rgba(208, 208, 208, 0.01) 75%);
    background: linear-gradient(90deg, rgba(223, 242, 221, 1) 25%, rgba(208, 208, 208, 0.01) 75%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#dff2dd", endColorstr="#d0d0d0", GradientType=1);
    padding: .75em 1em;
    font-size: 1em;
    line-height: 1.5em;
    border-bottom: .25em solid white;
    color: #444444;
}

/* Статус "Закрыта" */
.summary-2 {
    background: rgb(242, 221, 221);
    background: -moz-linear-gradient(90deg, rgba(242, 221, 221, 1) 25%, rgba(208, 208, 208, 0.01) 75%);
    background: -webkit-linear-gradient(90deg, rgba(242, 221, 221, 1) 25%, rgba(208, 208, 208, 0.01) 75%);
    background: linear-gradient(90deg, rgba(242, 221, 221, 1) 25%, rgba(208, 208, 208, 0.01) 75%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f2dddd", endColorstr="#d0d0d0", GradientType=1);
    padding: .75em 1em;
    font-size: 1em;
    line-height: 1.5em;
    border-bottom: .25em solid white;
    color: #444444;
}

/* Статус "Архив"/"Ожидает" */
.summary-3 {
    background: rgb(242, 242, 221);
    background: -moz-linear-gradient(90deg, rgba(242, 242, 221, 1) 25%, rgba(208, 208, 208, 0.01) 75%);
    background: -webkit-linear-gradient(90deg, rgba(242, 242, 221, 1) 25%, rgba(208, 208, 208, 0.01) 75%);
    background: linear-gradient(90deg, rgba(242, 242, 221, 1) 25%, rgba(208, 208, 208, 0.01) 75%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f2f2dd", endColorstr="#d0d0d0", GradientType=1);
    padding: .75em 1em;
    font-size: 1em;
    line-height: 1.5em;
    border-bottom: .25em solid white;
    color: #444444;
}

.summary-4 {
    background: rgb(197, 216, 234); /* светло-синий базовый фон */
    background: -moz-linear-gradient(
        90deg,
        rgba(197, 216, 234, 1) 25%,
        rgba(208, 208, 208, 0.01) 75%
    );
    background: -webkit-linear-gradient(
        90deg,
        rgba(197, 216, 234, 1) 25%,
        rgba(208, 208, 208, 0.01) 75%
    );
    background: linear-gradient(
        90deg,
        rgba(197, 216, 234, 1) 25%,
        rgba(208, 208, 208, 0.01) 75%
    );
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#c5d8ea", endColorstr="#d0d0d0", GradientType=1);

    padding: .75em 1em;
    font-size: 1em;
    line-height: 1.5em;
    border-bottom: .25em solid white;
    color: #444444;
}

.summary-bottom {
    padding-top: .5em;
    padding-left: 1em;
}

.details-box {
    padding-left: 1em;
    line-height: 1.5em;
}

.details-box-top {
    padding-top: 1em;
}

.details-box-bottom {
    padding-bottom: 1em;
}

.details-box-footer {
    padding-top: .5em;
    padding-bottom: 1.25em;
}

.details-box-des {
    background-color: #eeeeee;
    border-left: .25em dotted white;
    padding: .1em .1em;
}

.description {
    font-size: 1.2em;
    line-height: 1.5em;
}

.details-box-blockquote {
    padding: 1em;
}

details {
    background-color: whitesmoke;
}

code {
    font-family: Monospaced, serif;
    margin-right: 1em;
    padding-left: 1em;
    padding-right: 1em;
    border: 1px solid #cbcbcb;
    border-radius: .5em;
    background-color: white;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

code_non {
    padding-left: .5em;
    padding-right: .5em;
    border: 1px solid #cbcbcb;
    border-radius: .5em;
    background-color: white;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

code_text {
    border: 1px solid #557a95;
    background-color: transparent;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    display: inline-block;
}

code_text a {
    text-decoration: none;
    color: #557a95;
    padding: 0.15em 0.2em;
    transition: background-color 0.5s ease;
}

code_text a:hover {
    background-color: #d0e8f2;
}

table {
    font-size: small;
}

.threedots {
    max-width: 25ch;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.green-link {
    font-weight: bold;
}

.my_button {
    border: none;
    color: #444444;
    font-size: .9em;
    text-decoration: none;
    cursor: pointer;
}

.my_button:hover {
    text-decoration: underline;
}

.link_button {
    background-color: transparent;
    border: none;
    color: #557a95;
    text-decoration: underline;
}

.button-warning {
    background: rgb(223, 117, 20);
}

.close-button {
    width: 20px;
    height: 20px;
    background-color: transparent;
    border-radius: 2px;
    border: none;
    cursor: pointer;
    padding: 0;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
}

.close-button:hover {
    background-color: #ff0000;
}

.cross-icon {
    font-size: 16px;
    color: #333;
    transition: color 0.3s ease;
}

.close-button:hover .cross-icon {
    color: white;
}

.edit-button {
    width: 20px;
    height: 20px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
}

.edit-button:hover {
    background-color: #0078e7;
}

.edit-button:hover .cross-icon {
    color: white;
}

.comment-box {
    line-height: 2em;
}

.custom-button-small {
    -webkit-user-drag: none;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    line-height: normal;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
    background-color: #e6e6e6;
    border: transparent;
    border-radius: 2px;
    color: rgba(0, 0, 0, .8);
    font-size: 70%;
    padding: .5em 1em;
    text-decoration: none;
}

.custom-button-small-hover, .custom-button-small:focus, .custom-button-small:hover {
    background-image: linear-gradient(transparent, rgba(0, 0, 0, .05) 40%, rgba(0, 0, 0, .1));
}

.link {
    color: #557a95;
    text-decoration: none;
}

.link:hover {
    text-decoration: underline;
    text-underline-offset: .2em;
}

.link_inverse {
    color: whitesmoke;
}

.link-paginator {
    color: #557a95;
    text-decoration: none;
}

.link_inverse {
    color: whitesmoke;
}

/* === КАПЛЯ-СТАТУС (кристальный круг) ======================================= */
.status-drop{
    /* относительные размеры */
    --r: 1.2em;                 /* диаметр капли */
    --alpha: .4;               /* прозрачность стекла */
    --fill: 16,185,129;         /* цвет тела (заменяется модификаторами ниже) */
    --stroke: 12,139,96;        /* цвет контура (тёмнее тела) */

    position: relative;
    z-index: 1;
    display: inline-block;
    width: var(--r);
    height: calc(var(--r) - 0.04em);
    margin-right: .55em;
    border-radius: 50%;
    vertical-align: -0.12em;

    /* стеклянное тело (как было) */
    background:
      radial-gradient(120% 120% at 75% 30%, rgba(255,255,255,.60) 0%, rgba(255,255,255,0) 45%),
      radial-gradient(70% 70% at 30% 70%, rgba(0,0,0,.10) 0%, rgba(0,0,0,0) 55%),
      rgba(var(--fill), var(--alpha));
    border: 0.0em solid rgba(var(--stroke), .96);

    /* тени (как в твоём коде: внешняя + внутренняя) */
    box-shadow:
        calc((var(--r) / 25) * -1) calc(var(--r) / 18) 0.15em 0 rgba(0,0,0,0.6),
        inset calc((var(--r) / 5) * -1) calc((var(--r) / 5)) calc((var(--r) / 4)) 0 rgba(0,0,0,0.3);

    filter: saturate(1.1);

    transition: transform .08s ease, filter .12s ease, box-shadow .12s ease;
    cursor: default;
}

/* Блики (без изменений по геометрии) */
.status-drop::after{
    content:"";
    position:absolute;
    width: 15%;
    height: 15%;
    border-radius: 50%;
    transform: skew(11deg, 2deg);
    top: 20%;
    left: 63%;
    background:#fff;
    opacity:1;
    pointer-events:none;
}
.status-drop::before{
    content:"";
    position:absolute;
    width: 9%;
    height: 9%;
    border-radius: 50%;
    transform: skew(10deg, 0deg);
    top: 40%;
    left: 75%;
    background:#fff;
    opacity:.4;
    pointer-events:none;
}

/* Ховер/клик (без изменений) */
.summary-1:hover .status-drop,
.summary-2:hover .status-drop,
.summary-3:hover .status-drop,
.summary-4:hover .status-drop{ filter: saturate(1.25) brightness(1.25); }
.summary-1:active .status-drop,
.summary-2:active .status-drop,
.summary-3:active .status-drop,
.summary-4:active .status-drop { transform: translateY(-35%) scale(.75); }

/* Цветовые модификаторы (без изменений) */
.status-drop.is-emerald{ --fill: 16,185,129; --stroke: 12,139,96; }
.status-drop.is-amber{   --fill: 245,158,11;  --stroke: 180,116,6; }
.status-drop.is-ruby{    --fill: 225,29,72;   --stroke: 163,21,52; }
.status-drop.is-blue{    --fill: 59,130,246;  --stroke: 37,99,235; }

/* =================================================================== */

/* 1) Убираем стандартный маркер <summary> (треугольник) */
details.app-details > summary::-webkit-details-marker { display: none; }
details.app-details > summary { list-style: none; }

/* 2) Готовим плашку под абсолютное позиционирование капли */
details.app-details > summary {
  position: relative;
  padding-left: 3em;   /* пространство слева под каплю */
}

/* 3) Центруем каплю по вертикали плашки и фиксируем слева */
details.app-details > summary .status-drop{
  position: absolute;
  left: 1em;          /* сдвиг от левого края плашки */
  top: 50%;
  transform: translateY(-50%);  /* идеальный центр по вертикали */
  margin-right: 0;       /* убираем отступ, если был */
  z-index: 1;
}
/* ========================================================================== */

.select_style {
    padding-top: 1em;
}

.errorlist {
    color: #e35f5f;
}

#menu {
    align-content: center;
}

.custom-brand {
    color: whitesmoke;
}

.custom-brand::after {
    content: ".ru";
    color: #79aec8;
}

.custom-wrapper {
    background-color: #557a95;
    -webkit-font-smoothing: antialiased;
    height: 3em;
    overflow: hidden;
    -webkit-transition: height 0.5s;
    -moz-transition: height 0.5s;
    -ms-transition: height 0.5s;
    transition: height 0.5s;
}

.custom-wrapper-search {
    background-color: #557a95;
    -webkit-font-smoothing: antialiased;
    height: 3em;
    overflow: hidden;
    -webkit-transition: height 0.5s;
    -moz-transition: height 0.5s;
    -ms-transition: height 0.5s;
    transition: height 0.5s;
}

.custom-wrapper.open {
    height: 12em;
}

.custom-menu-3 {
    text-align: right;
}

.custom-toggle {
    width: 34px;
    height: 34px;
    position: absolute;
    top: 0;
    right: 0;
    display: none;
}

.custom-toggle .bar {
    background-color: whitesmoke;
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 100px;
    position: absolute;
    top: 27px;
    right: 18px;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    transition: all 0.5s;
}

.custom-toggle .bar:first-child {
    -webkit-transform: translateY(-6px);
    -moz-transform: translateY(-6px);
    -ms-transform: translateY(-6px);
    transform: translateY(-6px);
}

.custom-toggle.x .bar {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.custom-toggle.x .bar:first-child {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

@media (max-width: 47.999em) {
    .custom-menu-3 { text-align: left; }
    .custom-toggle { display: block; }
}

.content_center {
    margin-left: auto;
    margin-right: auto;
    max-width: 768px;
    padding-left: 1em;
    padding-right: 1em;
    line-height: 1.5em;
}

.header_center {
    text-align: center;
    line-height: 2em;
    background: #fff;
    border-bottom: 1px solid #eee;
    font-family: "Roboto Light", sans-serif;
    letter-spacing: .05em;
    margin-left: auto;
    margin-right: auto;
    max-width: 768px
}

.button_center {
    text-align: center;
}

.banner {
    background: transparent url("/static/users/img/home_fill_scale.jpg") no-repeat top center fixed;
    height: 350px;
    width: 100%;
    margin-bottom: 2em;
    display: table;
}

.li-home {
    margin-top: 1em;
}

.footer {
    background: #557a95;
    color: whitesmoke;
    text-align: center;
    line-height: 1.75em;
    margin-top: auto;
}

.footer a {
    color: whitesmoke;
}

.l-box {
    padding: 0.5em 2em;
}

.blog {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.mission {
    display: block;
    padding: 1em;
    border: 1px solid #ccc;
    background-color: whitesmoke;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
    font-size: 1.1em;
    line-height: 1.5em;
    font-family: "Roboto Light", sans-serif;
}

.success-message {
    position: fixed;
    color: whitesmoke;
    top: 95%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: mediumseagreen;
    padding: 20px;
    border-radius: 5px;
    z-index: 999;
    width: 350px;
    text-align: center;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.success-message.show {
    opacity: 1;
}

#captcha-container {
    display: flex;
    justify-content: center;
    width: 400px;
    margin: 0 auto;
}

.fix-table { table-layout: auto; }
.fix-th { width: auto; overflow: hidden; }
.fix-td { width: auto; overflow: hidden; }

.button-container {
    display: flex;
    justify-content: left;
    margin-top: 20px;
}

.blurred-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(15px);
    z-index: 1000;
}

.message-box {
    position: fixed;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    line-height: 2em;
    padding: 2em;
    z-index: 1001;
    text-align: center;
    opacity: 5;
    transition: opacity 1s ease;
}

.fade-out {
    opacity: 0;
    transition: opacity 1s ease;
}

.owner-box { padding-bottom: .25em; }

.container_my { display: flex; justify-content: center; }

.content_my { text-align: center; }

.horizontal-menu-my {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: transparent;
}

.horizontal-menu-my li {
    padding: .5em 20px;
    cursor: pointer;
    transition: border-bottom 0.3s;
    border-bottom: .2em solid transparent;
}

.horizontal-menu-my li:hover {
    border-bottom: .2em solid rgba(85, 122, 149, 0.25);
}

.horizontal-menu-my a {
    text-decoration: none;
    color: #333;
}

.horizontal-menu-my li.active-menu-my {
    border-bottom: .2em solid #557A95;
}

.disabled-menu-my {
    pointer-events: none;
    opacity: 0.5;
    color: #999;
}

/* === Pure Grids: канавки между колонками формы (по доке Pure) === */
.pure-g.form-grid > [class*="pure-u"] {
    box-sizing: border-box;
    padding-left: .5rem;
    padding-right: .5rem;
}

/* выравниваем ряд так, чтобы крайние поля совпадали с контейнером */
.form-grid { margin-left: -.5rem; margin-right: -.5rem; }

/* единый вертикальный отступ между блоками формы */
.form-field { margin-bottom: 1em; }

/* === Лэйаут главной страницы и сайдбар миниатюр === */
.page-with-sidebar { display:flex; align-items:flex-start; gap:1em; }
.page-main { flex:1 1 auto; min-width:0; }

@media (min-width: 75em) {
  .thumbs-sidebar{
    position: sticky; top: 0; align-self: flex-start;
    flex: 0 0 4.5em; padding: 1em; margin-top: .85em;
    background: transparent; border: none; box-shadow: none;
    max-height: calc(100vh - 2em); overflow-y: auto;
    -ms-overflow-style: none; scrollbar-width: none;
  }
  .thumbs-sidebar::-webkit-scrollbar{ width:0; height:0; }
  .thumbs-list{ display:grid; grid-auto-rows:min-content; row-gap:1em; justify-items:center; }
  .thumbs-item, .thumbs-placeholder{ display:block; width:4em; height:4em; border-radius:.4em; overflow:hidden; }
  .thumbs-item{ border:1px solid #eee; }
  .thumbs-placeholder{ border:1px solid #e3e3e3; background:linear-gradient(135deg, rgba(0,0,0,.02), rgba(0,0,0,.06)); }
  .thumbs-img{ display:block; width:100%; height:100%; object-fit:cover; }
}
@media (max-width: 74.99em){ .thumbs-sidebar{ display:none; } }

/* === Панель фильтров === */
.filters-bar { padding-bottom: 1em; font-size: small; }
.filters-label { margin-right: 1em; display: inline-block; }

/* === Утилиты, заменившие инлайны === */
.fw-bold { font-weight: bold; }
.inline-block { display: inline-block; }
.ti-1 { text-indent: 1em; }
.lh-135 { line-height: 1.35em; }
.pb-05 { padding-bottom: .5em; }
.pb-1 { padding-bottom: 1em; }
.pb-3 { padding-bottom: 3em; }
.pt-3 { padding-top: 3em; }
.ta-right { text-align: right; }
.flex-end { display: flex; justify-content: flex-end; }
.italic { font-style: italic; }
.mono { font-family: monospace; }
.color-accent { color: #957056; }
.btn-danger-custom { background-color:#ca3c3cff; color:whitesmoke; }

/* === Флаги статусов === */
.app-flags{ display:inline-block; margin-left:.35em; }
.app-flag{ display:inline-block; margin-left:.35em; line-height:1; }

/* === ⭐ Новая заявка (15 мин.) === */
.fresh-star{
  display:inline-block;
  margin-right:.25em;
  transform-origin:center 25%;
  animation: starSwingDecel 5s ease-out 1 both;
  opacity:1;
  transition: opacity 1s ease;
  cursor: pointer;
}
.fresh-star.is-hidden{ opacity:0; }
@keyframes starSwingDecel{
  0%{transform:rotate(0deg)}8%{transform:rotate(16deg)}16%{transform:rotate(-14deg)}24%{transform:rotate(12deg)}
  32%{transform:rotate(-10deg)}40%{transform:rotate(8deg)}48%{transform:rotate(-6deg)}56%{transform:rotate(5deg)}
  64%{transform:rotate(-4deg)}72%{transform:rotate(3deg)}80%{transform:rotate(-2deg)}88%{transform:rotate(1deg)}100%{transform:rotate(0deg)}
}
@media (prefers-reduced-motion: reduce){ .fresh-star{ animation:none; } }

/* === LIGHTBOX === */
.lb-overlay{
  position:fixed; inset:0; display:none; align-items:center; justify-content:center;
  background:rgba(0,0,0,.35);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  z-index:9999;
}
.lb-overlay.is-open{ display:flex; }

/* >>> ДОБАВЛЕНО: гарантируем, что закрытый оверлей скрыт */
.lb-overlay[aria-hidden="true"] { display: none !important; }

/* >>> ДОБАВЛЕНО: скрываем подчёркивание и пустые ссылки лайтбокса (исправляет синюю линию) */
a.js-lightbox { text-decoration: none; }
a.js-lightbox:empty { display: none !important; }

.lb-figure{
  position:relative; margin:0; padding:0; max-width:92vw; max-height:92vh;
  border-radius:12px; box-shadow:0 10px 40px rgba(0,0,0,.35); background:rgba(20,20,20,.5);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  animation:lb-in .12s ease-out;
}
.lb-img{ max-width:92vw; max-height:92vh; display:block; object-fit:contain; background:#111; }
.lb-close{
  position:absolute; top:8px; right:8px; width:36px; height:36px; border-radius:50%; border:0;
  background:rgba(255,255,255,.85); color:#111; font-size:22px; line-height:36px; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  transition:transform .08s, background .12s;
}
.lb-close:hover{ transform:scale(1.06); background:#fff; }
@keyframes lb-in{ from{ transform:scale(.98); opacity:0 } to{ transform:scale(1); opacity:1 } }
body.lb-lock{ overflow:hidden; }

/* Стрелки */
.lb-nav{
  position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border:0; border-radius:50%;
  background:rgba(255,255,255,.9); color:#111; font-size:24px; line-height:40px; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; box-shadow:0 2px 12px rgba(0,0,0,.25);
  transition:transform .08s, background .12s; user-select:none;
}
.lb-nav:hover{ transform:translateY(-50%) scale(1.06); background:#fff; }
.lb-prev{ left:8px; } .lb-next{ right:8px; }
@media (max-width:480px){ .lb-nav{ width:34px; height:34px; font-size:20px; line-height:34px; } }

/* Подпись */
.lb-caption{
  position:absolute; left:0; right:0; bottom:0; padding:1em 2em;
  background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,.12), transparent);
  color:#fff; text-align:center; font-size:.95em;
}
.lb-link{ color:#fff; text-decoration:underline; }
.lb-link:hover{ text-decoration:none; }

/* Дополнительно для каркаса страницы с сайдбаром на больших экранах */
@media (min-width: 75em) {
  .page-with-sidebar{ display:flex; align-items:flex-start; gap:1em; }
  .page-main{ flex:1 1 auto; min-width:0; }
}

/* Резерв места под виджет капчи */
.captcha-reserved { min-height: 120px; display: flex; align-items: center; }

/* Универсальный хелпер */
.hidden { display: none !important; }

/* Крупная кнопка отправки */
.btn-xl {
    font-size: 1.125rem;
    padding: 0.9em 1.6em;
    min-height: 52px;
    border-radius: 8px;
    line-height: 1.2;
}

@media (max-width: 640px) {
    #submit-wrap .btn-xl { display: block; width: 100%; }
}

/* Снежинка у логотипа upravka */
.custom-brand {
    display: inline-flex;
    align-items: center;
}

.custom-brand__icon {
    width: 1em;
    height: 1em;
    margin-right: .1em;
    vertical-align: top;

    /* Делает SVG белым (если исходник тёмный/чёрный) */
    filter: brightness(0) invert(1);
}
