/* Цена творческой работы — тема «Смета».
   Рабочий интерфейс переписки с клиентом: слева папки-направления (логотипы, сайты, иллюстрация, моушн, тексты,
   фото, видео, упаковка, деньги и условия), на главной список переписок-чатов и открытый свежий разговор письмами,
   ниже «Калькулятор сметы», счётчик «а можно ещё одну правочку?» и «Шкала оценки» план против факта.
   В теме — письма и КП с шапкой «От / Кому / Тема», у первого письма вложение «смета.pdf».
   Светлый чистый интерфейс, мягкие пастели папок, акцент — фиолетово-синие чернила.
   Шрифты: Sofia Sans Semi Condensed (интерфейс и текст), EB Garamond (заголовки и темы писем),
   Source Code Pro (суммы, часы, даты писем), все OFL. */

@font-face { font-family: "Sofia Sans SC"; src: url("fonts/sofia-sans-semi-condensed-cyrillic-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Sofia Sans SC"; src: url("fonts/sofia-sans-semi-condensed-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Sofia Sans SC"; src: url("fonts/sofia-sans-semi-condensed-cyrillic-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Sofia Sans SC"; src: url("fonts/sofia-sans-semi-condensed-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20BD, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Sofia Sans SC"; src: url("fonts/sofia-sans-semi-condensed-cyrillic-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Sofia Sans SC"; src: url("fonts/sofia-sans-semi-condensed-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20BD, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "EB Garamond"; src: url("fonts/eb-garamond-cyrillic-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "EB Garamond"; src: url("fonts/eb-garamond-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "EB Garamond"; src: url("fonts/eb-garamond-cyrillic-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "EB Garamond"; src: url("fonts/eb-garamond-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "EB Garamond"; src: url("fonts/eb-garamond-cyrillic-500-italic.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "EB Garamond"; src: url("fonts/eb-garamond-latin-500-italic.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Code Pro"; src: url("fonts/source-code-pro-cyrillic-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Source Code Pro"; src: url("fonts/source-code-pro-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20BD, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Code Pro"; src: url("fonts/source-code-pro-cyrillic-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Source Code Pro"; src: url("fonts/source-code-pro-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20BD, U+2212, U+FEFF, U+FFFD; }

:root {
	--iw-bg: #f2f1f7;
	--iw-panel: #ffffff;
	--iw-panel2: #f8f7fc;
	--iw-line: #e6e4f0;
	--iw-line2: #d6d3e6;
	--iw-ink: #2d3480;
	--iw-ink2: #474fae;
	--iw-ink-l: #ecebff;
	--iw-ink-d: #1f2463;
	--iw-text: #1d1f33;
	--iw-text2: #3b3e57;
	--iw-mute: #676a83;
	--iw-dim: #9497ac;
	--iw-coral: #e0674f;
	--iw-coral-d: #b4472f;
	--iw-coral-l: #fde6de;
	--iw-ok: #2c8460;
	--iw-ok-l: #dcf2e6;
	--iw-ui: "Sofia Sans SC", "Segoe UI", system-ui, -apple-system, sans-serif;
	--iw-serif: "EB Garamond", "Iowan Old Style", Georgia, serif;
	--iw-mono: "Source Code Pro", ui-monospace, "SF Mono", Menlo, monospace;
	--iw-r: 16px;
	--iw-r2: 10px;
	--iw-shadow: 0 1px 0 rgba(45, 52, 128, .05), 0 12px 30px -22px rgba(31, 36, 99, .38);
	--iw-side: 268px;
	--iw-barh: 64px;
}

/* пастели папок: фон --t, чернила --ti */
.iw-tone--peach  { --t: #ffe4d4; --ti: #a5522b; }
.iw-tone--sky    { --t: #dbeafb; --ti: #2a659c; }
.iw-tone--rose   { --t: #fbe1ea; --ti: #a83c62; }
.iw-tone--lilac  { --t: #e9e2fb; --ti: #5f45a8; }
.iw-tone--butter { --t: #fff0c4; --ti: #7c600c; }
.iw-tone--mint   { --t: #d7f0e3; --ti: #257552; }
.iw-tone--sand   { --t: #f2e8da; --ti: #7e5a36; }
.iw-tone--sage   { --t: #e4ecd6; --ti: #55702f; }

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font: 400 17px/1.55 var(--iw-ui);
	color: var(--iw-text);
	background: var(--iw-bg);
	overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: var(--iw-ink); text-decoration: none; }
a:hover { color: var(--iw-coral-d); }
:focus-visible { outline: 2.5px solid var(--iw-ink2); outline-offset: 2px; border-radius: 6px; }
button { font: inherit; color: inherit; }
p { margin: 0 0 .8em; }
.iw-skip { position: absolute; left: -999px; top: 8px; z-index: 200; background: var(--iw-ink); color: #fff; padding: 8px 14px; border-radius: 8px; }
.iw-skip:focus { left: 12px; }
.iw-ico { flex-shrink: 0; display: block; }

.iw-h1 { font: 600 clamp(28px, 2.6vw, 36px)/1.12 var(--iw-serif); margin: 0 0 .3em; color: var(--iw-ink-d); letter-spacing: -.005em; }
.iw-h1 i { font-style: italic; font-weight: 500; color: var(--iw-ink2); }
.iw-h2 { font: 600 clamp(22px, 1.8vw, 26px)/1.15 var(--iw-serif); margin: 0; color: var(--iw-ink-d); }
.iw-h3 { font: 700 12px/1.3 var(--iw-ui); text-transform: uppercase; letter-spacing: .12em; color: var(--iw-mute); margin: 0 0 12px; }
.iw-kicker { font: 700 11.5px/1.3 var(--iw-ui); text-transform: uppercase; letter-spacing: .14em; color: var(--iw-ink2); margin: 0 0 6px; }
.iw-more { font: 600 14px/1.3 var(--iw-ui); color: var(--iw-ink); background: none; border: 0; padding: 0; cursor: pointer; border-bottom: 1px solid rgba(45, 52, 128, .28); }
.iw-more:hover { color: var(--iw-coral-d); border-color: currentColor; }
.iw-empty { color: var(--iw-mute); list-style: none; padding: 14px 4px; }
.iw-card { background: var(--iw-panel); border-radius: var(--iw-r); box-shadow: var(--iw-shadow); border: 1px solid var(--iw-line); padding: 22px 24px; min-width: 0; }
.iw-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.iw-card__sub { color: var(--iw-mute); font-size: 15.5px; margin: 6px 0 0; max-width: 62ch; }
.iw-card__sub b { color: var(--iw-coral-d); font-family: var(--iw-mono); font-weight: 600; }
.iw-btn { display: inline-flex; align-items: center; gap: 8px; font: 700 15px/1 var(--iw-ui); color: #fff; background: var(--iw-ink); border: 0; border-radius: 999px; padding: 12px 20px; cursor: pointer; transition: background .2s, transform .15s; }
.iw-btn:hover { background: var(--iw-ink-d); color: #fff; }
.iw-btn:active { transform: translateY(1px) scale(.98); }
.iw-btn--coral { background: var(--iw-coral); }
.iw-btn--coral:hover { background: var(--iw-coral-d); }

/* ------------------------------------------------------------------ шапка приложения */
.iw-bar { position: sticky; top: 0; z-index: 60; height: var(--iw-barh); background: rgba(255, 255, 255, .94); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--iw-line); }
.iw-bar__in { height: 100%; display: flex; align-items: center; gap: 22px; padding: 0 22px; max-width: 1640px; margin: 0 auto; }
.iw-bar__folders { display: none; align-items: center; gap: 7px; border: 1px solid var(--iw-line2); background: #fff; border-radius: 999px; padding: 8px 13px; font: 700 14px/1 var(--iw-ui); color: var(--iw-ink); cursor: pointer; }
.iw-logo { display: flex; align-items: center; gap: 11px; color: var(--iw-ink-d); min-width: 0; flex-shrink: 0; width: calc(var(--iw-side) - 22px); }
.iw-logo:hover { color: var(--iw-ink-d); }
.iw-logo__mark { flex-shrink: 0; transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
.iw-logo:hover .iw-logo__mark { transform: rotate(-6deg) scale(1.04); }
.iw-logo__txt { display: grid; min-width: 0; }
.iw-logo__name { font: 600 19px/1.05 var(--iw-serif); white-space: nowrap; }
.iw-logo__name i { font-style: italic; font-weight: 500; color: var(--iw-ink2); }
.iw-logo__sub { font: 500 11.5px/1.3 var(--iw-ui); color: var(--iw-mute); letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.iw-find { position: relative; flex: 1; max-width: 560px; }
.iw-find__l { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.iw-find__i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--iw-dim); pointer-events: none; }
.iw-find input.textbox { width: 100%; height: 40px; padding: 8px 14px 8px 40px; border-radius: 999px; background: var(--iw-panel2); border-color: var(--iw-line); font-size: 15.5px; }
.iw-me { position: relative; margin-left: auto; }
.iw-me__b { display: flex; align-items: center; gap: 8px; background: var(--iw-ink); color: #fff; border: 0; border-radius: 999px; padding: 6px 16px 6px 8px; font: 700 14.5px/1 var(--iw-ui); cursor: pointer; min-height: 38px; }
.iw-me__b .iw-ico { margin-left: 4px; }
.iw-me__b:hover { background: var(--iw-ink-d); }
.iw-me__panel { position: absolute; right: 0; top: calc(100% + 10px); width: 300px; background: #fff; border: 1px solid var(--iw-line2); border-radius: 16px; padding: 16px; box-shadow: 0 24px 46px -20px rgba(31, 36, 99, .5); z-index: 70; animation: iw-pop .22s ease-out; }
@keyframes iw-pop { from { opacity: 0; transform: translateY(-6px) scale(.98); } to { opacity: 1; transform: none; } }

/* ------------------------------------------------------------------ каркас: папки слева, рабочая область */
.iw-app { display: grid; grid-template-columns: var(--iw-side) minmax(0, 1fr); max-width: 1640px; margin: 0 auto; min-height: calc(100vh - var(--iw-barh)); }
.iw-side { position: sticky; top: var(--iw-barh); height: calc(100vh - var(--iw-barh)); overflow-y: auto; border-right: 1px solid var(--iw-line); background: linear-gradient(180deg, #fbfaff, var(--iw-bg)); scrollbar-width: thin; }
.iw-side__in { padding: 16px 14px 24px; }
.iw-side__h { font: 700 11.5px/1 var(--iw-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--iw-dim); margin: 4px 8px 10px; }
.iw-side__grp { margin: 16px 8px 6px; font: 700 12px/1.2 var(--iw-ui); letter-spacing: .1em; text-transform: uppercase; }
.iw-side__grp a { color: var(--iw-mute); }
.iw-side__grp a:hover { color: var(--iw-ink); }
.iw-side__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; }
.iw-fold { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 10px; color: var(--iw-text2); font: 500 15px/1.25 var(--iw-ui); position: relative; transition: background .18s, color .18s; }
.iw-fold__ico { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--t, var(--iw-ink-l)); color: var(--ti, var(--iw-ink)); flex-shrink: 0; transition: transform .25s cubic-bezier(.3, 1.6, .5, 1); }
.iw-fold__n { flex: 1; min-width: 0; }
.iw-fold__c { font: 600 12px/1 var(--iw-mono); color: var(--iw-dim); }
.iw-fold:hover { background: #fff; color: var(--iw-ink-d); }
.iw-fold:hover .iw-fold__ico { transform: rotate(-8deg) scale(1.06); }
.iw-fold.is-on { background: #fff; color: var(--iw-ink-d); font-weight: 700; box-shadow: 0 1px 0 var(--iw-line), 0 6px 16px -12px rgba(31, 36, 99, .5); }
.iw-fold.is-on::before { content: ""; position: absolute; left: -14px; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--iw-ink); }
.iw-fold.is-on .iw-fold__c { color: var(--iw-ink); }
.iw-fold--all { margin-bottom: 4px; font-weight: 700; color: var(--iw-ink-d); }
.iw-fold--all .iw-ico { width: 30px; padding: 5px; border-radius: 9px; height: 30px; background: var(--iw-ink); color: #fff; box-sizing: border-box; }
.iw-side__memo { margin: 22px 4px 0; padding: 14px 14px 12px; border-radius: 14px; background: #fff; border: 1px dashed var(--iw-line2); font-size: 14px; line-height: 1.45; color: var(--iw-text2); }
.iw-side__memo p { margin: 0; }
.iw-side__memo-h { font: 600 17px/1.2 var(--iw-serif) !important; color: var(--iw-ink-d); margin-bottom: 6px !important; }
.iw-side__shade { display: none; }
.iw-main { min-width: 0; padding: 18px 26px 0; display: flex; flex-direction: column; }
.iw-main > * { flex-shrink: 0; }
.iw-crumbs-row { margin-bottom: 12px; min-height: 18px; }
.iw-crumbs { font: 500 13.5px/1.3 var(--iw-ui); color: var(--iw-mute); display: flex; flex-wrap: wrap; gap: 2px 6px; align-items: center; }
.iw-crumbs a { color: var(--iw-mute); }
.iw-crumbs a:hover { color: var(--iw-ink); }
.iw-crumbs__sep { color: var(--iw-dim); }
.iw-crumbs .active { color: var(--iw-text2); max-width: 60ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iw-page--index .iw-crumbs-row { display: none; }

/* ------------------------------------------------------------------ общие: лица, звания, репутация, ярлыки папок */
.iw-face { display: inline-grid; place-items: center; flex-shrink: 0; border-radius: 50%; overflow: hidden; font: 700 15px/1 var(--iw-ui); color: var(--iw-ink-d); background: var(--iw-ink-l); }
.iw-face img { width: 100%; height: 100%; object-fit: cover; display: block; }
.iw-face--xs { width: 22px; height: 22px; font-size: 10px; }
.iw-face--s { width: 30px; height: 30px; font-size: 12px; }
.iw-face--m { width: 42px; height: 42px; font-size: 15px; }
.iw-face--l { width: 56px; height: 56px; font-size: 19px; }
.iw-face--xl { width: 120px; height: 120px; font-size: 40px; font-family: var(--iw-serif); font-weight: 600; }
.iw-tone-0 { background: #ffe4d4; color: #8c4421; }
.iw-tone-1 { background: #dbeafb; color: #23578a; }
.iw-tone-2 { background: #fbe1ea; color: #8e3152; }
.iw-tone-3 { background: #e9e2fb; color: #503a92; }
.iw-tone-4 { background: #fff0c4; color: #6b520a; }
.iw-tone-5 { background: #d7f0e3; color: #1f6546; }
.iw-rank { display: inline-flex; align-items: center; gap: 6px; font: 600 13px/1.2 var(--iw-ui); color: var(--iw-text2); }
.iw-badge .pg { fill: #fff; stroke: var(--iw-ink); stroke-width: 1.4; stroke-linejoin: round; }
.iw-badge .fo { fill: var(--iw-ink-l); stroke: var(--iw-ink); stroke-width: 1.2; stroke-linejoin: round; }
.iw-badge .ln { stroke: var(--iw-ink2); stroke-width: 1.5; stroke-linecap: round; }
.iw-badge .bx { fill: #ffd9c4; }
.iw-badge .ok { fill: none; stroke: var(--iw-ok); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.iw-badge .tg { fill: var(--iw-coral); stroke: #fff; stroke-width: 1; stroke-linejoin: round; }
.iw-badge .th { fill: #fff; }
.iw-badge--5 .pg, .iw-badge--6 .pg { fill: var(--iw-ink-l); }
.iw-badge--6 .bx { fill: #b9f0d2; }
.iw-rep { display: inline-flex; align-items: center; gap: 3px; font: 600 12.5px/1 var(--iw-mono); color: var(--iw-ok); background: var(--iw-ok-l); border-radius: 999px; padding: 3px 8px 3px 6px; }
.iw-rep svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.iw-rep--zero { color: var(--iw-dim); background: var(--iw-panel2); }
.iw-rep--down { color: var(--iw-coral-d); background: var(--iw-coral-l); }
.iw-fchip { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px 4px 7px; border-radius: 999px; background: var(--t); color: var(--ti); font: 700 12.5px/1 var(--iw-ui); white-space: nowrap; }
.iw-fchip:hover { color: var(--ti); filter: saturate(1.3) brightness(.98); }

/* вложение «смета.pdf» */
.iw-att { display: inline-flex; align-items: center; gap: 4px; border-radius: 6px; font: 600 11.5px/1 var(--iw-mono); }
.iw-att--s { padding: 3px 6px 3px 4px; background: var(--iw-panel2); border: 1px solid var(--iw-line2); color: var(--iw-text2); }
.iw-att--s b { font-weight: 600; margin-left: 3px; }
.iw-att--over b { color: var(--iw-coral-d); }
.iw-att--under b, .iw-att--even b { color: var(--iw-ok); }
details.iw-att { display: block; border-radius: 12px; border: 1px solid var(--iw-line2); background: #fff; font-family: var(--iw-ui); margin: 14px 0 4px; max-width: 460px; overflow: hidden; }
details.iw-att summary { list-style: none; display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 12px; cursor: pointer; }
details.iw-att summary::-webkit-details-marker { display: none; }
details.iw-att summary:hover { background: var(--iw-panel2); }
.iw-att__file .p { fill: #fff; stroke: var(--iw-dim); stroke-width: 1.5; stroke-linejoin: round; }
.iw-att__file .f { fill: var(--iw-line); stroke: var(--iw-dim); stroke-width: 1.5; stroke-linejoin: round; }
.iw-att__file .b { fill: var(--iw-coral); }
.iw-att__file text { font: 700 7.5px/1 var(--iw-ui); fill: #fff; letter-spacing: .04em; }
.iw-att__txt { display: grid; gap: 3px; flex: 1; min-width: 0; }
.iw-att__txt b { font: 600 14.5px/1.1 var(--iw-mono); color: var(--iw-text); }
.iw-att__txt span { font: 500 13px/1.2 var(--iw-ui); color: var(--iw-mute); }
.iw-att__d { font: 600 15px/1 var(--iw-mono); padding: 6px 9px; border-radius: 8px; }
.iw-att--over .iw-att__d { color: var(--iw-coral-d); background: var(--iw-coral-l); }
.iw-att--under .iw-att__d, .iw-att--even .iw-att__d { color: var(--iw-ok); background: var(--iw-ok-l); }
.iw-att__body { padding: 4px 14px 14px; border-top: 1px dashed var(--iw-line2); animation: iw-pop .25s ease-out; }
.iw-att__bars { display: grid; gap: 6px; margin: 12px 0; }
.iw-att__bar { display: block; height: 18px; width: var(--w); min-width: 34px; border-radius: 5px; position: relative; }
.iw-att__bar i { position: absolute; left: 7px; top: 50%; transform: translateY(-50%); font: 700 10.5px/1 var(--iw-ui); font-style: normal; letter-spacing: .06em; text-transform: uppercase; }
.iw-att__bar--plan { background: #fff; border: 1.5px dashed var(--iw-ink2); color: var(--iw-ink2); }
.iw-att__bar--fact { background: var(--iw-ok); color: #fff; }
.iw-att--over .iw-att__bar--fact { background: var(--iw-coral); }
.iw-att__t { width: 100%; border-collapse: collapse; font-size: 14px; }
.iw-att__t th, .iw-att__t td { padding: 6px 4px; border-bottom: 1px solid var(--iw-line); text-align: left; }
.iw-att__t td { font: 600 13.5px/1.2 var(--iw-mono); }
.iw-att__t thead th { font: 700 11px/1 var(--iw-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--iw-mute); }
.iw-att__t tbody th { font-weight: 500; color: var(--iw-text2); }

/* ------------------------------------------------------------------ главная: окно переписки */
.iw-msgr { display: grid; grid-template-columns: minmax(330px, 400px) minmax(0, 1fr); background: var(--iw-panel); border: 1px solid var(--iw-line); border-radius: 20px; box-shadow: var(--iw-shadow); overflow: hidden; height: min(760px, calc(100vh - var(--iw-barh) - 40px)); min-height: 600px; }
.iw-chats { display: flex; flex-direction: column; min-height: 0; border-right: 1px solid var(--iw-line); background: #fff; }
.iw-chats__head { padding: 20px 20px 12px; border-bottom: 1px solid var(--iw-line); }
.iw-chats__head .iw-h1 { font-size: 30px; margin-bottom: 6px; }
.iw-chats__lead { font-size: 14.5px; line-height: 1.45; color: var(--iw-mute); margin: 0 0 12px; }
.iw-tabs { display: inline-flex; gap: 3px; padding: 3px; border-radius: 999px; background: var(--iw-panel2); border: 1px solid var(--iw-line); }
.iw-tab { border: 0; background: none; padding: 7px 13px; border-radius: 999px; font: 600 13.5px/1 var(--iw-ui); color: var(--iw-mute); cursor: pointer; transition: background .2s, color .2s; white-space: nowrap; }
.iw-tab:hover { color: var(--iw-ink); }
.iw-tabs:empty { display: none; }
.iw-tab.is-on { background: #fff; color: var(--iw-ink-d); box-shadow: 0 1px 2px rgba(31, 36, 99, .16); }
.iw-chats__list { list-style: none; margin: 0; padding: 6px; overflow-y: auto; flex: 1; min-height: 0; scrollbar-width: thin; }
.iw-chats__none { padding: 16px 20px; color: var(--iw-mute); font-size: 14.5px; }
.iw-chat { position: relative; display: flex; gap: 12px; padding: 11px 12px; border-radius: 14px; transition: background .18s; }
.iw-chat + .iw-chat { margin-top: 1px; }
.iw-chat:hover { background: var(--iw-panel2); }
.iw-chat.is-on { background: var(--iw-ink-l); }
.iw-chat.is-on::after { content: ""; position: absolute; right: 6px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: var(--iw-ink); }
.iw-chat__link { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.iw-chat .iw-face { margin-top: 2px; }
.iw-chat__main { flex: 1; min-width: 0; }
.iw-chat__top { display: flex; align-items: baseline; gap: 8px; margin: 0 0 2px; }
.iw-chat__tw { flex: 1; min-width: 0; }
.iw-chat__t { display: block; flex: 1; min-width: 0; font: 700 15.5px/1.25 var(--iw-ui); color: var(--iw-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iw-chat--row .iw-chat__t, .iw-chats__list--plain .iw-chat__t { white-space: normal; }
a.iw-chat__t:hover { color: var(--iw-ink); }
.iw-chat__when { font: 500 12px/1 var(--iw-mono); color: var(--iw-dim); flex-shrink: 0; }
.iw-chat__prev { margin: 0 0 5px; font-size: 14.5px; line-height: 1.35; color: var(--iw-mute); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.iw-chat__prev b { color: var(--iw-text2); font-weight: 600; }
.iw-chat__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0; font-size: 12.5px; color: var(--iw-mute); }
.iw-chat__dot { width: 8px; height: 8px; border-radius: 3px; background: var(--ti); box-shadow: 0 0 0 3px var(--t); }
.iw-chat__f { font-weight: 600; color: var(--ti); margin-right: 2px; }
.iw-chat__by { color: var(--iw-mute); }
.iw-chat__n { margin-left: auto; min-width: 24px; height: 22px; display: inline-grid; place-items: center; padding: 0 7px; border-radius: 999px; background: var(--iw-ink); color: #fff; font: 600 11.5px/1 var(--iw-mono); position: relative; z-index: 2; }
a.iw-chat__n:hover { background: var(--iw-coral); color: #fff; }
.iw-chat.is-pinned .iw-chat__t::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 6px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--iw-coral); vertical-align: 1px; }
.iw-chat.is-hide { display: none; }

/* открытый разговор */
.iw-open { min-width: 0; min-height: 0; overflow-y: auto; padding: 0 0 18px; background:
	linear-gradient(var(--iw-panel2), var(--iw-panel2)) padding-box,
	radial-gradient(circle at 1px 1px, rgba(45, 52, 128, .07) 1px, transparent 1.3px) 0 0 / 18px 18px;
	background-color: var(--iw-panel2); scrollbar-width: thin; }
.iw-open.is-swap > * { animation: iw-in .32s ease-out; }
@keyframes iw-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.iw-open__head { position: sticky; top: 0; z-index: 3; padding: 16px 26px 12px; background: rgba(248, 247, 252, .94); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--iw-line); }
.iw-open__k { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font: 600 12.5px/1 var(--iw-mono); color: var(--iw-mute); }
.iw-open__t { font: 600 24px/1.18 var(--iw-serif); margin: 0; }
.iw-open__t a { color: var(--iw-ink-d); }
.iw-open__t a:hover { color: var(--iw-ink2); }
.iw-minis { list-style: none; margin: 0; padding: 16px 26px 0; display: grid; gap: 12px; }
.iw-mini { background: #fff; border: 1px solid var(--iw-line); border-radius: 14px; padding: 12px 16px 12px; box-shadow: 0 6px 18px -16px rgba(31, 36, 99, .5); max-width: 760px; }
.iw-mini--op { margin-left: auto; border-color: rgba(45, 52, 128, .22); background: linear-gradient(180deg, #fbfbff, #fff); }
.iw-mini--first { border-top: 4px solid var(--t, var(--iw-ink-l)); }
.iw-open .iw-mini--first { --t: #e9e2fb; }
.iw-mini__h { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px dashed var(--iw-line2); }
.iw-mini__hd { display: grid; gap: 1px; flex: 1; min-width: 0; font-size: 13.5px; color: var(--iw-text2); }
.iw-mini__hd span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.iw-mini__hd i { font: 600 11px/1 var(--iw-mono); font-style: normal; color: var(--iw-dim); text-transform: uppercase; letter-spacing: .06em; display: inline-block; width: 40px; }
.iw-mini__hd b { color: var(--iw-text); }
.iw-mini__t { font: 500 12px/1 var(--iw-mono); color: var(--iw-dim); align-self: flex-start; }
.iw-mini__b { margin: 0; font-size: 15.5px; line-height: 1.5; color: var(--iw-text2); }
.iw-mini__att { margin: 10px 0 0; }
.iw-gap { text-align: center; list-style: none; }
.iw-gap a { display: inline-block; font: 600 12.5px/1 var(--iw-mono); color: var(--iw-mute); background: #fff; border: 1px dashed var(--iw-line2); border-radius: 999px; padding: 6px 12px; }
.iw-gap a:hover { color: var(--iw-ink); border-color: var(--iw-ink2); }
.iw-open__go { padding: 16px 26px 0; margin: 0; display: flex; justify-content: flex-end; }

/* ------------------------------------------------------------------ главная: инструменты */
.iw-tools { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 20px; margin-top: 20px; align-items: start; }
.iw-calc__art { flex-shrink: 0; margin-top: -4px; }
.iw-calc__art .a { fill: #fff; stroke: var(--iw-ink); stroke-width: 2; }
.iw-calc__art .b { fill: var(--iw-ink-l); stroke: var(--iw-ink); stroke-width: 2; stroke-linejoin: round; }
.iw-calc__art .c { stroke: var(--iw-ink2); stroke-width: 2.4; stroke-linecap: round; }
.iw-calc__art .d { fill: #ffd9c4; }
.iw-calc__art .e { fill: #fff0c4; stroke: var(--iw-ink); stroke-width: 2; stroke-linejoin: round; transform-origin: 96px 40px; animation: iw-pencil 3.4s ease-in-out infinite; }
.iw-calc__art .f { stroke: var(--iw-coral); stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 28; stroke-dashoffset: 28; animation: iw-line 3.4s ease-in-out infinite; }
@keyframes iw-pencil { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-7deg) translateX(-3px); } }
@keyframes iw-line { 0%, 20% { stroke-dashoffset: 28; } 60%, 100% { stroke-dashoffset: 0; } }
.iw-calc__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; }
.iw-calc__in { display: grid; gap: 14px; align-content: start; }
.iw-rng { display: grid; gap: 6px; }
.iw-rng__l { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font: 600 14.5px/1.2 var(--iw-ui); color: var(--iw-text2); }
.iw-rng output, .iw-step output { font: 600 15px/1 var(--iw-mono); color: var(--iw-ink-d); }
.iw-rng input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--iw-ink) 0 var(--v, 30%), var(--iw-line) var(--v, 30%)); outline-offset: 6px; cursor: pointer; }
.iw-rng input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 2px solid var(--iw-ink); box-shadow: 0 3px 8px -2px rgba(31, 36, 99, .45); transition: transform .15s; }
.iw-rng input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.12); }
.iw-rng input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 2px solid var(--iw-ink); }
.iw-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.iw-step { display: grid; gap: 6px; }
.iw-step__l { font: 600 14px/1.2 var(--iw-ui); color: var(--iw-text2); }
.iw-step__c { display: inline-flex; align-items: center; justify-content: space-between; border: 1px solid var(--iw-line2); border-radius: 12px; padding: 3px; background: #fff; }
.iw-step__c button { width: 34px; height: 32px; border: 0; border-radius: 9px; background: var(--iw-panel2); font: 600 18px/1 var(--iw-mono); color: var(--iw-ink); cursor: pointer; }
.iw-step__c button:hover { background: var(--iw-ink-l); }
.iw-step output { min-width: 28px; text-align: center; }
.iw-step output.is-bump { animation: iw-bump .3s ease-out; }
@keyframes iw-bump { 40% { transform: scale(1.35); color: var(--iw-coral-d); } }
.iw-seg { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.iw-seg legend { font: 600 14px/1.2 var(--iw-ui); color: var(--iw-text2); padding: 0; margin-bottom: 6px; text-transform: none; letter-spacing: 0; width: 100%; }
.iw-seg label { cursor: pointer; }
.iw-seg input { position: absolute; opacity: 0; pointer-events: none; }
.iw-seg span { display: inline-block; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--iw-line2); font: 600 13.5px/1 var(--iw-ui); color: var(--iw-text2); background: #fff; transition: background .2s, color .2s, border-color .2s; }
.iw-seg input:checked + span { background: var(--iw-ink); border-color: var(--iw-ink); color: #fff; }
.iw-seg input:focus-visible + span { outline: 2.5px solid var(--iw-ink2); outline-offset: 2px; }
.iw-tog { display: flex; align-items: center; gap: 10px; font-size: 14.5px; line-height: 1.3; color: var(--iw-text2); cursor: pointer; }
.iw-tog input { position: absolute; opacity: 0; pointer-events: none; }
.iw-tog__s { flex-shrink: 0; width: 40px; height: 24px; border-radius: 999px; background: var(--iw-line2); position: relative; transition: background .2s; }
.iw-tog__s::after { content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .25s cubic-bezier(.3, 1.6, .5, 1); }
.iw-tog input:checked + .iw-tog__s { background: var(--iw-ok); }
.iw-tog input:checked + .iw-tog__s::after { transform: translateX(16px); }
.iw-tog input:focus-visible + .iw-tog__s { outline: 2.5px solid var(--iw-ink2); outline-offset: 2px; }
.iw-calc__out { background: var(--iw-panel2); border: 1px solid var(--iw-line); border-radius: 16px; padding: 16px 18px; display: grid; gap: 12px; align-content: start; }
.iw-sum { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 2px 12px; padding-bottom: 10px; border-bottom: 1px dashed var(--iw-line2); }
.iw-sum__l { font: 600 14px/1.2 var(--iw-ui); color: var(--iw-text2); }
.iw-sum__v { font: 600 26px/1 var(--iw-mono); color: var(--iw-ink-d); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.iw-sum--hour .iw-sum__v { font-size: 20px; color: var(--iw-coral-d); }
.iw-sum small { grid-column: 1 / -1; font-size: 12.5px; color: var(--iw-mute); }
.iw-vs__track { position: relative; height: 34px; border-radius: 10px; background: repeating-linear-gradient(90deg, transparent 0 calc(10% - 1px), var(--iw-line2) calc(10% - 1px) 10%), #fff; border: 1px solid var(--iw-line); }
.iw-vs__m { position: absolute; top: 4px; bottom: 4px; left: 0; width: var(--x, 0%); border-radius: 7px; transition: width .45s cubic-bezier(.2, .9, .3, 1); }
.iw-vs__m i { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font: 700 10.5px/1 var(--iw-ui); font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: #fff; white-space: nowrap; }
.iw-vs__m--fix { background: var(--iw-ink); z-index: 2; top: 4px; bottom: 50%; border-radius: 7px 7px 2px 2px; }
.iw-vs__m--hour { background: var(--iw-coral); top: 50%; bottom: 4px; border-radius: 2px 2px 7px 7px; }
.iw-vs__m i { font-size: 9.5px; }
.iw-vs__ax { display: flex; justify-content: space-between; margin: 4px 0 0; font: 500 11.5px/1 var(--iw-mono); color: var(--iw-dim); }
.iw-real { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font: 600 14px/1.3 var(--iw-ui); color: var(--iw-text2); }
.iw-real b { font: 600 20px/1 var(--iw-mono); color: var(--iw-ink-d); }
.iw-real span { font-size: 12.5px; color: var(--iw-mute); font-weight: 500; }
.iw-real__bar { height: 8px; border-radius: 8px; background: var(--iw-line); overflow: hidden; }
.iw-real__bar span { display: block; height: 100%; width: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--iw-coral), #f0a23b 55%, var(--iw-ok)); transition: width .45s cubic-bezier(.2, .9, .3, 1); }
.iw-verdict { margin: 0; font-size: 14.5px; line-height: 1.45; color: var(--iw-text); padding: 10px 12px; border-radius: 12px; background: #fff; border-left: 3px solid var(--iw-ink); }
.iw-verdict.is-bad { border-left-color: var(--iw-coral); }
.iw-verdict.is-good { border-left-color: var(--iw-ok); }
.iw-calc__links { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 2px 0 0; }

/* «а можно ещё одну правочку?» */
.iw-ask { display: flex; flex-direction: column; }
.iw-ask__chat { list-style: none; margin: 0 0 14px; padding: 14px; border-radius: 16px; background: var(--iw-panel2); border: 1px solid var(--iw-line); display: flex; flex-direction: column; gap: 8px; max-height: 220px; overflow-y: auto; scrollbar-width: thin; }
.iw-bub { max-width: 84%; padding: 9px 13px; border-radius: 16px; font-size: 15px; line-height: 1.38; animation: iw-in .3s ease-out; }
.iw-bub--me { align-self: flex-end; background: var(--iw-ink); color: #fff; border-bottom-right-radius: 5px; }
.iw-bub--cl { align-self: flex-start; background: #fff; border: 1px solid var(--iw-line2); border-bottom-left-radius: 5px; color: var(--iw-text); }
.iw-bub--cl::before { content: "Клиент"; display: block; font: 700 11px/1 var(--iw-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--iw-coral-d); margin-bottom: 4px; }
.iw-bub--sys { align-self: center; background: none; font: 600 12px/1.3 var(--iw-mono); color: var(--iw-mute); padding: 2px 6px; }
.iw-ask__panel { display: grid; gap: 12px; }
.iw-ask__count { display: flex; align-items: center; gap: 14px; }
.iw-odo { display: inline-block; height: 58px; min-width: 58px; padding: 0 10px; border-radius: 14px; background: var(--iw-ink-d); color: #fff; overflow: hidden; text-align: center; box-shadow: inset 0 -10px 18px -10px rgba(0, 0, 0, .55); }
.iw-odo__in { display: block; font: 600 40px/58px var(--iw-mono); }
.iw-odo.is-roll .iw-odo__in { animation: iw-roll .42s cubic-bezier(.3, 1.4, .5, 1); }
@keyframes iw-roll { 0% { transform: translateY(-60%); opacity: 0; } 100% { transform: none; opacity: 1; } }
.iw-odo.is-over { background: var(--iw-coral-d); }
.iw-ask__lbl { display: grid; font: 600 17px/1.2 var(--iw-serif); color: var(--iw-ink-d); }
.iw-ask__lbl small { font: 500 13px/1.3 var(--iw-ui); color: var(--iw-mute); }
.iw-rounds { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.iw-rounds li { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font: 600 11.5px/1 var(--iw-mono); background: var(--iw-ink-l); color: var(--iw-ink); border: 1.5px solid var(--iw-ink2); animation: iw-dot .35s cubic-bezier(.3, 1.6, .5, 1); }
.iw-rounds li.is-extra { background: var(--iw-coral-l); color: var(--iw-coral-d); border-color: var(--iw-coral); border-style: dashed; }
@keyframes iw-dot { from { transform: scale(.2); opacity: 0; } to { transform: none; opacity: 1; } }
.iw-ask__rate { margin: 0; font-size: 14.5px; color: var(--iw-text2); }
.iw-ask__rate b { font: 600 18px/1 var(--iw-mono); color: var(--iw-ink-d); }
.iw-ask__rate span { font: 600 13px/1 var(--iw-mono); color: var(--iw-coral-d); }
.iw-ask__btns { display: flex; align-items: center; gap: 16px; margin: 0; }
.iw-ask__foot { margin: 14px 0 0; }
.iw-ask.is-shake .iw-ask__chat { animation: iw-shake .4s; }
@keyframes iw-shake { 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }

/* шкала оценки */
.iw-scale { margin-top: 20px; }
.iw-scale__head { align-items: flex-end; }
.iw-scale__legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: -4px 0 14px; font-size: 13px; color: var(--iw-mute); }
.iw-lg { display: inline-flex; align-items: center; gap: 6px; }
.iw-lg::before { content: ""; width: 20px; height: 10px; border-radius: 3px; }
.iw-lg--plan::before { border: 1.5px dashed var(--iw-ink2); }
.iw-lg--over::before { background: var(--iw-coral); }
.iw-lg--under::before { background: var(--iw-ok); }
.iw-lg__note { margin-left: auto; font: 500 12px/1 var(--iw-mono); color: var(--iw-dim); }
.iw-scs { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.iw-sc { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto; align-items: center; gap: 6px 22px; padding: 10px 8px; border-radius: 12px; transition: background .2s; }
.iw-sc:hover { background: var(--iw-panel2); }
.iw-sc.is-more { display: none; }
.iw-scale.is-all .iw-sc.is-more { display: grid; }
.iw-sc__q { margin: 0; display: flex; align-items: center; gap: 9px; min-width: 0; font: 600 15px/1.3 var(--iw-ui); }
.iw-sc__q a { color: var(--iw-text); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.iw-sc__q a:hover { color: var(--iw-ink); }
.iw-sc__dot { flex-shrink: 0; width: 10px; height: 10px; border-radius: 3px; background: var(--ti); box-shadow: 0 0 0 3px var(--t); }
.iw-sc__track { position: relative; height: 22px; border-radius: 6px; background: repeating-linear-gradient(90deg, transparent 0 calc(20% - 1px), var(--iw-line) calc(20% - 1px) 20%); }
.iw-sc__fact, .iw-sc__plan { position: absolute; left: 0; top: 3px; bottom: 3px; border-radius: 5px; transform-origin: left center; }
.iw-sc__fact { width: var(--f); background: var(--iw-ok); transform: scaleX(0); transition: transform .9s cubic-bezier(.2, .9, .3, 1); }
.iw-sc--over .iw-sc__fact { background: var(--iw-coral); }
.iw-sc__plan { width: var(--p); border: 1.5px dashed var(--iw-ink2); background: rgba(255, 255, 255, .25); }
.iw-sc__plan::after { content: ""; position: absolute; right: -2px; top: -5px; bottom: -5px; width: 2px; border-radius: 2px; background: var(--iw-ink-d); }
.iw-scale.is-seen .iw-sc__fact { transform: scaleX(1); }
.iw-sc__n { margin: 0; display: flex; align-items: center; gap: 12px; font: 500 12.5px/1 var(--iw-mono); color: var(--iw-mute); white-space: nowrap; }
.iw-sc__n b { color: var(--iw-text); font-weight: 600; }
.iw-sc__r { color: var(--iw-ink2); }
.iw-sc__d { min-width: 58px; text-align: right; font-size: 15px; color: var(--iw-ok) !important; }
.iw-sc--over .iw-sc__d { color: var(--iw-coral-d) !important; }
.iw-scale__foot { display: flex; gap: 18px; margin: 14px 0 0; }
.iw-scale:not(.has-more) #iw-sc-more { display: none; }

/* ------------------------------------------------------------------ папка-раздел */
.iw-fhead { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 20px 22px; background: #fff; border: 1px solid var(--iw-line); border-radius: 18px; box-shadow: var(--iw-shadow); margin-bottom: 16px; position: relative; overflow: hidden; }
.iw-fhead::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 6px; background: var(--ti); }
.iw-fhead__ico { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 16px; background: var(--t); color: var(--ti); }
.iw-fhead__txt .iw-h1 { margin-bottom: 4px; }
.iw-fhead__d { margin: 0; color: var(--iw-mute); font-size: 15.5px; max-width: 80ch; }
.iw-tlist { padding: 16px 14px 10px; }
.iw-tlist__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 0 8px 12px; border-bottom: 1px solid var(--iw-line); margin-bottom: 6px; }
.iw-tlist__head .iw-h2 { margin-right: auto; }
.iw-sort { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 13.5px; color: var(--iw-mute); }
.iw-sort a { color: var(--iw-text2); border-bottom: 1px dotted var(--iw-line2); }
.iw-sort a:hover { color: var(--iw-ink); }
.iw-chats__list--folder { overflow: visible; padding: 0; }
.iw-chats__list--plain { overflow: visible; padding: 0; margin: 10px 0; }
.iw-chat--row { padding: 13px 12px; border-bottom: 1px solid var(--iw-line); border-radius: 12px; }
.iw-chat--row .iw-chat__t { font-size: 16.5px; }
.iw-chat--row.is-hide { display: none; }
.iw-sep { list-style: none; font: 700 11.5px/1 var(--iw-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--iw-dim); padding: 14px 12px 6px; }
.iw-tlist__none { padding: 16px 12px; color: var(--iw-mute); }
.iw-pages { font: 500 12px/1 var(--iw-mono); color: var(--iw-dim); margin-left: 6px; }
.iw-pages a { color: var(--iw-ink2); margin: 0 2px; }
.iw-chat__mod { position: relative; z-index: 2; }
.iw-bar2 { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin: 16px 0; }
.iw-bar2__r { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.iw-subs { margin-bottom: 16px; }

/* ------------------------------------------------------------------ переписка: письма */
.iw-thread { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 22px; align-items: start; }
.iw-mail { min-width: 0; }
.iw-mail__head { padding: 22px 26px 18px; background: #fff; border: 1px solid var(--iw-line); border-radius: 18px 18px 0 0; border-bottom: 0; position: relative; }
.iw-mail__head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: repeating-linear-gradient(90deg, var(--ti) 0 18px, transparent 18px 24px, var(--iw-coral) 24px 42px, transparent 42px 48px); opacity: .55; }
.iw-mail__k { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 10px; font: 500 12.5px/1 var(--iw-mono); color: var(--iw-mute); }
.iw-mail__h1 { font-size: clamp(28px, 2.6vw, 38px); }
.iw-mail__by { margin: 0; color: var(--iw-mute); font-size: 14.5px; }
.iw-letters { display: grid; gap: 14px; padding: 18px 0 4px; background: none; }
.iw-letter { position: relative; background: #fff; border: 1px solid var(--iw-line); border-radius: 16px; padding: 0 0 4px; box-shadow: var(--iw-shadow); transition: box-shadow .25s, transform .25s; }
.iw-letter:target, .iw-letter.is-target { box-shadow: 0 0 0 3px var(--iw-ink-l), var(--iw-shadow); }
.iw-anchor { position: absolute; top: calc(-1 * var(--iw-barh) - 12px); }
.iw-letter__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 16px 22px 12px; background: var(--iw-panel2); border-bottom: 1px solid var(--iw-line); border-radius: 16px 16px 0 0; }
.iw-letter__hd { margin: 0; display: grid; gap: 3px; min-width: 0; }
.iw-letter__hd > div { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: baseline; gap: 8px; }
.iw-letter__hd dt { font: 600 11.5px/1.4 var(--iw-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--iw-dim); }
.iw-letter__hd dd { margin: 0; font-size: 15px; color: var(--iw-text2); min-width: 0; overflow-wrap: anywhere; }
.iw-letter__from dd { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.iw-letter__nick a, .iw-letter__nick { font: 700 16px/1.2 var(--iw-ui); color: var(--iw-text); }
.iw-letter__nick a:hover { color: var(--iw-ink); }
.iw-letter__subj dd { font: 500 italic 16px/1.25 var(--iw-serif); color: var(--iw-ink-d); }
.iw-letter__date { font: 500 12.5px/1.3 var(--iw-mono); color: var(--iw-dim); white-space: nowrap; text-align: right; }
.iw-letter__date:hover { color: var(--iw-ink); }
.iw-flag { font: 700 11px/1 var(--iw-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--iw-ink); background: var(--iw-ink-l); border-radius: 999px; padding: 4px 8px; }
.iw-flag--first { color: var(--ti, var(--iw-ink)); background: var(--t, var(--iw-ink-l)); }
.iw-letter__who { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 0; padding: 9px 22px 0 78px; font-size: 13px; color: var(--iw-mute); }
.iw-letter__spec { font-weight: 600; color: var(--iw-text2); }
.iw-letter__city::before { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--iw-dim); margin-right: 8px; vertical-align: 2px; }
.iw-letter__body { padding: 12px 22px 6px 78px; font-size: 17px; line-height: 1.62; color: var(--iw-text); overflow-wrap: break-word; }
.iw-letter > details.iw-att { margin: 4px 22px 10px 78px; }
.iw-letter--first { border-top: 5px solid var(--ti); }
.iw-letter--first .iw-letter__head { background: linear-gradient(180deg, var(--t), var(--iw-panel2)); border-radius: 0; }
.iw-letter--op { border-left: 4px solid var(--iw-ink2); }
.iw-letter__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; padding: 6px 22px 10px 78px; }
.post_meta { padding: 0 22px 0 78px; font-size: 12.5px; color: var(--iw-dim); }
.post_meta:empty { display: none; }
.iw-letter .signature { margin: 8px 22px 4px 78px; }
.iw-info { position: sticky; top: calc(var(--iw-barh) + 16px); display: grid; gap: 14px; }
.iw-info__box { background: #fff; border: 1px solid var(--iw-line); border-radius: 16px; padding: 16px; box-shadow: var(--iw-shadow); }
.iw-info__box details.iw-att { margin: 0; }
.iw-info__box--att[data-has="smeta"] .iw-info__noatt { display: none; }
.iw-info__noatt { margin: 0; font-size: 14px; color: var(--iw-mute); }
.iw-people { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.iw-people li { display: flex; align-items: center; gap: 9px; font-size: 14.5px; font-weight: 600; color: var(--iw-text2); }
.iw-people li > span:not(.iw-face) { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iw-people b { font: 600 12px/1 var(--iw-mono); color: var(--iw-dim); }
.iw-morelist { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.iw-morelist li { display: grid; gap: 2px; font-size: 14.5px; line-height: 1.3; }
.iw-morelist a { color: var(--iw-text); font-weight: 600; }
.iw-morelist a:hover { color: var(--iw-ink); }
.iw-morelist span { font: 500 11.5px/1 var(--iw-mono); color: var(--iw-dim); }
.iw-info__f { margin: 12px 0 0; font-size: 13.5px; }
.iw-info__note { margin: 0; font-size: 13px; line-height: 1.45; color: var(--iw-mute); padding: 0 6px; }
.iw-guest { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; margin: 4px 0 16px; border: 1px dashed var(--iw-line2); border-radius: 16px; background: #fff; }
.iw-guest p { margin: 0; color: var(--iw-text2); font-size: 15px; }
.iw-nextprev { display: flex; justify-content: space-between; gap: 12px; margin: 10px 0 14px; font-size: 14px; }
.iw-nextprev a { color: var(--iw-mute); }
.iw-nextprev a:hover { color: var(--iw-ink); }
.iw-tools2 { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: 13.5px; margin-bottom: 18px; }
.iw-tools2 .thread_tools { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.iw-tools2 .thread_tools li { background: none !important; padding: 0 !important; }
.iw-tools2 a { color: var(--iw-mute); }
#quick_reply_form { margin-bottom: 16px; }

/* ------------------------------------------------------------------ визитка исполнителя */
.iw-vcard { display: grid; gap: 18px; }
.iw-vcard__head { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(220px, 300px); grid-template-areas: "ph id dl" "ph nums dl"; gap: 6px 26px; align-items: center; position: relative; overflow: hidden; padding: 26px 28px; }
.iw-vcard__head::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 74px; background: linear-gradient(110deg, #e9e2fb, #dbeafb 45%, #ffe4d4); opacity: .8; }
.iw-vcard__photo { grid-area: ph; position: relative; padding: 5px; border-radius: 50%; background: #fff; box-shadow: 0 10px 24px -14px rgba(31, 36, 99, .6); }
.iw-vcard__id { grid-area: id; position: relative; padding-top: 36px; }
.iw-vcard__name { margin-bottom: 2px; }
.iw-vcard__spec { margin: 0 0 8px; font: 500 italic 19px/1.3 var(--iw-serif); color: var(--iw-ink2); }
.iw-vcard__rank { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; font: 700 15px/1.2 var(--iw-ui); color: var(--iw-text2); }
.iw-vcard__dl { grid-area: dl; position: relative; margin: 0; display: grid; gap: 8px; background: var(--iw-panel2); border: 1px solid var(--iw-line); border-radius: 14px; padding: 14px 16px; }
.iw-vcard__dl div { display: grid; gap: 1px; }
.iw-vcard__dl dt { font: 600 11px/1.3 var(--iw-mono); text-transform: uppercase; letter-spacing: .08em; color: var(--iw-dim); }
.iw-vcard__dl dd { margin: 0; font-size: 15.5px; font-weight: 600; color: var(--iw-text); }
.iw-vcard__nums { grid-area: nums; list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.iw-vcard__nums li { display: grid; padding: 9px 14px; border-radius: 12px; background: var(--iw-ink-l); min-width: 104px; }
.iw-vcard__nums b { font: 600 22px/1 var(--iw-mono); color: var(--iw-ink-d); }
.iw-vcard__nums span { font-size: 12.5px; color: var(--iw-text2); }
.iw-steps { padding: 18px 22px; }
.iw-steps__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; position: relative; counter-reset: st; }
.iw-steps__list li { position: relative; display: grid; justify-items: center; text-align: center; gap: 4px; padding: 6px 4px 0; color: var(--iw-dim); }
.iw-steps__list li::before { content: ""; position: absolute; top: 17px; left: -50%; right: 50%; height: 2px; background: var(--iw-line2); z-index: 0; }
.iw-steps__list li:first-child::before { display: none; }
.iw-steps__list li.is-past::before, .iw-steps__list li.is-now::before { background: var(--iw-ink2); }
.iw-steps__list .iw-badge { position: relative; z-index: 1; background: #fff; border-radius: 6px; padding: 1px; opacity: .45; }
.iw-steps__list li.is-past .iw-badge, .iw-steps__list li.is-now .iw-badge { opacity: 1; }
.iw-steps__list li.is-now .iw-badge { transform: scale(1.35); box-shadow: 0 0 0 5px var(--iw-ink-l); }
.iw-steps__t { font: 700 13.5px/1.2 var(--iw-ui); color: inherit; margin-top: 6px; }
.iw-steps__n { font: 500 11.5px/1 var(--iw-mono); }
.iw-steps__list li.is-past, .iw-steps__list li.is-now { color: var(--iw-text2); }
.iw-steps__list li.is-now .iw-steps__t { color: var(--iw-ink-d); }
.iw-vcard__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.iw-minis--plain { padding: 12px 0 0; }
.iw-minis--plain .iw-mini { box-shadow: none; background: var(--iw-panel2); }
.iw-vcard__links { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 14px 0 0; font-size: 14px; }
.iw-vcard__extra { margin-top: 18px; }

/* ------------------------------------------------------------------ ошибки и переходы */
.iw-msg { display: flex; gap: 22px; align-items: flex-start; max-width: 820px; margin: 10px 0 24px; padding: 28px 30px; }
.iw-msg__bub { flex-shrink: 0; display: flex; align-items: center; justify-content: center; gap: 6px; width: 84px; height: 62px; border-radius: 22px 22px 22px 6px; background: var(--iw-ink-l); color: var(--iw-ink); }
.iw-msg__bub span { width: 9px; height: 9px; border-radius: 50%; background: var(--iw-ink2); animation: iw-typing 1.2s infinite ease-in-out; }
.iw-msg__bub span:nth-child(2) { animation-delay: .15s; }
.iw-msg__bub span:nth-child(3) { animation-delay: .3s; }
@keyframes iw-typing { 0%, 60%, 100% { transform: translateY(0); opacity: .45; } 30% { transform: translateY(-6px); opacity: 1; } }
.iw-msg__bub--ok { background: var(--iw-ok-l); color: var(--iw-ok); }
.iw-msg__body { color: var(--iw-text2); }
.iw-msg__body ol, .iw-msg__body ul { padding-left: 1.2em; }
.iw-page--redirect { display: grid; place-items: center; min-height: 100vh; padding: 16px; }

/* ------------------------------------------------------------------ подвал */
.iw-foot { margin-top: auto; padding: 34px 0 30px; }
.iw-foot__in { border-top: 1px solid var(--iw-line2); padding-top: 22px; display: grid; gap: 12px; }
.iw-foot__brand { margin: 0; font-size: 15px; color: var(--iw-text2); max-width: 80ch; }
.iw-foot__brand b { font: 600 18px/1 var(--iw-serif); color: var(--iw-ink-d); }
.iw-foot__links { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14.5px; font-weight: 600; }
.iw-foot__note { margin: 0; font-size: 13px; color: var(--iw-mute); }

/* ------------------------------------------------------------------ вход и меню участника */
.iw-login__p { font-size: 14px; color: var(--iw-mute); }
.iw-field { margin: 0 0 12px; display: grid; gap: 5px; }
.iw-field label { font: 700 12px/1 var(--iw-ui); letter-spacing: .06em; color: var(--iw-mute); }
.iw-field--row { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 13px; }
.iw-field--row label { letter-spacing: 0; font: 500 13.5px/1.2 var(--iw-ui); color: var(--iw-text2); }
.iw-field input.textbox { width: 100%; }
.iw-field .button { width: 100%; }
.iw-mine__who { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; }
.iw-mine__who span { display: grid; }
.iw-mine__who a { font-size: 13px; }
.iw-mine__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; }
.iw-mine__links a { display: block; padding: 8px 10px; border-radius: 9px; color: var(--iw-text2); font-size: 15px; }
.iw-mine__links a:hover { background: var(--iw-ink-l); color: var(--iw-ink-d); }
.iw-pm[data-n="0"] { display: none; }
.iw-pm { background: var(--iw-coral); color: #fff; border-radius: 999px; padding: 1px 6px; font: 700 11px/1.3 var(--iw-ui); }

/* ------------------------------------------------------------------ стандартные элементы MyBB в стиле рабочего интерфейса */
.tborder { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid var(--iw-line); border-radius: 14px; overflow: hidden; margin: 0 0 18px; color: var(--iw-text); box-shadow: var(--iw-shadow); }
.tborder td, .tborder th { padding: 10px 14px; border-bottom: 1px solid var(--iw-line); vertical-align: top; text-align: left; }
.thead { background: var(--iw-panel2); color: var(--iw-ink-d); font: 600 19px/1.3 var(--iw-serif); }
.thead a, .thead strong { color: var(--iw-ink-d); }
.thead .expcolimage { float: right; }
.tcat { background: var(--iw-ink-l); font: 700 12px/1.3 var(--iw-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--iw-ink-d); }
.tcat a { color: var(--iw-ink-d); }
.trow1, .trow2 { background: transparent; }
.trow2 { background: rgba(45, 52, 128, .025); }
.trow_shaded { background: rgba(224, 103, 79, .07); }
.trow_selected td, .trow_selected { background: #fff6d8; }
.tfoot { background: var(--iw-panel2); }
.tborder a, .trow1 a, .trow2 a, .tfoot a { color: var(--iw-ink); }
.smalltext { font-size: 13px; line-height: 1.45; color: var(--iw-mute); }
.largetext { font: 600 21px/1.3 var(--iw-serif); }
.float_left { float: left; } .float_right { float: right; } .clear { clear: both; }
input.textbox, textarea, select, input[type="text"], input[type="password"], input[type="email"], input[type="search"], input[type="number"], input[type="url"] {
	font: 400 16px/1.4 var(--iw-ui); color: var(--iw-text); background: #fff; border: 1.5px solid var(--iw-line2); border-radius: 10px; padding: 9px 12px; max-width: 100%; transition: border-color .2s, box-shadow .2s; }
textarea { width: 100%; min-height: 170px; line-height: 1.55; }
input.textbox:focus, textarea:focus, select:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="search"]:focus { outline: none; border-color: var(--iw-ink2); box-shadow: 0 0 0 4px rgba(71, 79, 174, .14); }
.button, input.button, button.button, a.button, input[type="submit"], input[type="button"], button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: 700 15px/1 var(--iw-ui); color: #fff; background: var(--iw-ink); border: 0; border-radius: 999px; padding: 12px 20px; cursor: pointer; text-decoration: none; transition: background .2s, transform .15s; }
.button:hover, input.button:hover, input[type="submit"]:hover, button[type="submit"]:hover, a.button:hover { background: var(--iw-ink-d); color: #fff; }
.button:active, input[type="submit"]:active { transform: translateY(1px) scale(.98); }
.new_thread_button, .new_reply_button { background: var(--iw-coral); }
.new_thread_button:hover, .new_reply_button:hover { background: var(--iw-coral-d); }
.closed_button { background: var(--iw-line); color: var(--iw-mute); }
.pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font: 600 13.5px/1 var(--iw-mono); }
.pagination .pages { color: var(--iw-mute); margin-right: 6px; font-family: var(--iw-ui); }
.pagination a, .pagination .pagination_current { display: inline-grid; place-items: center; min-width: 34px; height: 34px; padding: 0 9px; border: 1px solid var(--iw-line2); border-radius: 10px; color: var(--iw-text2); background: #fff; }
.pagination a:hover { border-color: var(--iw-ink2); color: var(--iw-ink); }
.pagination .pagination_current { background: var(--iw-ink); border-color: var(--iw-ink); color: #fff; }
.postbit_buttons { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.postbit_buttons > a, .postbit_buttons a { display: inline-flex; align-items: center; padding: 3px 0; font: 600 13px/1.2 var(--iw-ui); color: var(--iw-mute); }
.postbit_buttons a:hover { color: var(--iw-ink); }
.postbit_buttons a span { background: none !important; padding: 0 !important; }
.popup_menu { background: #fff; border: 1px solid var(--iw-line2); border-radius: 12px; padding: 6px; box-shadow: 0 18px 30px -14px rgba(31, 36, 99, .45); z-index: 50; }
.popup_menu .popup_item { display: block; padding: 7px 10px; color: var(--iw-text2); font-size: 15px; border-radius: 8px; }
.popup_menu .popup_item:hover { background: var(--iw-ink-l); }
.blocker { background: rgba(31, 36, 99, .45) !important; }
.modal { background: #fff !important; color: var(--iw-text); border: 1px solid var(--iw-line2); border-radius: 16px !important; box-shadow: 0 30px 60px -20px rgba(31, 36, 99, .55) !important; padding: 18px !important; }
.modal .tborder { margin: 0; box-shadow: none; }
.error, div.error { background: var(--iw-coral-l); border: 1.5px solid rgba(224, 103, 79, .45); border-radius: 12px; padding: 12px 16px; color: var(--iw-text); margin-bottom: 14px; }
.red_alert, .pm_alert { background: #fff6d8; border: 1px solid rgba(124, 96, 12, .3); border-radius: 12px; padding: 10px 14px; margin-bottom: 14px; }
fieldset { border: 1px solid var(--iw-line2); border-radius: 12px; padding: 12px 14px; margin: 0 0 14px; }
legend { font: 700 12px/1 var(--iw-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--iw-mute); padding: 0 6px; }
.usercp_nav_item, .modcp_nav_item { display: block; padding: 6px 4px; color: var(--iw-text2); }
.sceditor-container { border-radius: 10px; overflow: hidden; max-width: 100%; }
.ignored_post, .deleted_post_hidden { padding: 12px 16px; border: 1px dashed var(--iw-line2); border-radius: 12px; color: var(--iw-mute); margin-bottom: 12px; }
.scaleimages img { max-width: 100%; height: auto; border-radius: 8px; }
/* BB-коды */
blockquote.mycode_quote { margin: 10px 0 14px; padding: 10px 16px 12px; border-left: 3px solid var(--iw-ink2); background: var(--iw-panel2); border-radius: 0 12px 12px 0; color: var(--iw-text2); font-size: 16px; }
blockquote.mycode_quote cite { display: block; font: 600 12.5px/1.2 var(--iw-mono); font-style: normal; color: var(--iw-ink2); margin-bottom: 5px; }
blockquote.mycode_quote cite::before { content: "> "; color: var(--iw-dim); }
blockquote.mycode_quote cite > span { color: var(--iw-dim); margin-left: 6px; font-weight: 500; font-size: 11.5px; }
.codeblock { margin: 12px 0; background: #f6f5fb; border: 1px solid var(--iw-line2); border-radius: 10px; overflow: hidden; }
.codeblock .title { font: 700 11px/1 var(--iw-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--iw-mute); padding: 8px 12px; border-bottom: 1px solid var(--iw-line); }
.codeblock code { display: block; padding: 12px; overflow-x: auto; font: 13.5px/1.55 var(--iw-mono); color: var(--iw-text); }
.mycode_list, ul.mycode_list, ol.mycode_list { padding-left: 1.4em; }
.post_body li::marker { color: var(--iw-coral); }
.post_body hr, .mycode_hr { border: 0; height: 1px; margin: 18px 0; background: var(--iw-line2); }
.signature { margin-top: 12px; padding-top: 8px; border-top: 1px dashed var(--iw-line2); font-size: 14px; color: var(--iw-mute); }
.video_embed iframe, .post_body iframe { max-width: 100%; border-radius: 10px; }
.post_body .mycode_s { text-decoration-color: var(--iw-coral); text-decoration-thickness: 1.5px; }
.post_body .mycode_u { text-decoration-color: var(--iw-ink2); text-underline-offset: 3px; }
.post_body img.mycode_img { border-radius: 10px; }

/* ------------------------------------------------------------------ широкий ноутбук */
@media (max-width: 1320px) {
	.iw-thread { grid-template-columns: minmax(0, 1fr) 260px; }
	.iw-tools { grid-template-columns: minmax(0, 1fr); }
	.iw-vcard__head { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "ph id" "ph nums" "dl dl"; }
}

/* ------------------------------------------------------------------ планшет: папки уезжают в шторку */
@media (max-width: 1080px) {
	:root { --iw-side: 290px; }
	.iw-app { grid-template-columns: minmax(0, 1fr); }
	.iw-bar__folders { display: inline-flex; }
	.iw-logo { width: auto; }
	.iw-side { position: fixed; z-index: 80; left: 0; top: 0; height: 100vh; width: var(--iw-side); max-width: 86vw; transform: translateX(-104%); transition: transform .3s cubic-bezier(.2, .9, .3, 1); background: #fbfaff; box-shadow: 18px 0 40px -24px rgba(31, 36, 99, .6); }
	.iw-side.is-open { transform: none; }
	.iw-side__shade { display: block; position: fixed; inset: 0; z-index: 75; background: rgba(31, 36, 99, .32); }
	.iw-thread { grid-template-columns: minmax(0, 1fr); }
	.iw-info { position: static; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
	.iw-calc__grid { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------------ телефон */
@media (max-width: 760px) {
	body { font-size: 16.5px; }
	.iw-bar__in { gap: 10px; padding: 0 12px; }
	.iw-logo__sub, .iw-find { display: none; }
	.iw-logo__name { font-size: 16.5px; white-space: normal; }
	.iw-logo__mark { width: 36px; height: 36px; }
	.iw-bar__folders span { display: none; }
	.iw-bar__folders { padding: 8px; }
	.iw-me__b { padding: 5px 12px 5px 6px; font-size: 13.5px; }
	.iw-me__b span { max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.iw-me__panel { width: min(300px, calc(100vw - 24px)); right: -4px; }
	.iw-main { padding: 12px 16px 0; }
	.iw-msgr { grid-template-columns: minmax(0, 1fr); height: auto; min-height: 0; border-radius: 18px; }
	.iw-chats { border-right: 0; border-bottom: 1px solid var(--iw-line); }
	.iw-chats__head { padding: 16px 14px 12px; }
	.iw-chats__head .iw-h1 { font-size: 27px; }
	.iw-chats__list { max-height: 520px; padding: 4px; }
	.iw-chat.is-on::after { display: none; }
	.iw-chat.is-on { background: none; }
	.iw-open { max-height: 640px; }
	.iw-open__head, .iw-minis, .iw-open__go { padding-left: 14px; padding-right: 14px; }
	.iw-open__t { font-size: 21px; }
	.iw-tabs { max-width: 100%; overflow-x: auto; }
	.iw-card { padding: 18px 16px; border-radius: 16px; }
	.iw-card__head { flex-direction: column; }
	.iw-calc__art { display: none; }
	.iw-sum__v { font-size: 22px; }
	.iw-pair { grid-template-columns: 1fr; }
	.iw-sc { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 10px 4px; border-bottom: 1px solid var(--iw-line); border-radius: 0; }
	.iw-sc__n { flex-wrap: wrap; gap: 6px 12px; }
	.iw-sc__d { margin-left: auto; }
	.iw-lg__note { margin-left: 0; width: 100%; }
	.iw-fhead { grid-template-columns: auto minmax(0, 1fr); padding: 16px; }
	.iw-fhead__ico { width: 46px; height: 46px; }
	.iw-fhead__act { grid-column: 1 / -1; }
	.iw-tlist { padding: 12px 6px 6px; }
	.iw-tlist__head .iw-h2 { width: 100%; }
	.iw-chat--row { padding: 12px 8px; gap: 10px; }
	.iw-chat--row .iw-face--m { width: 36px; height: 36px; font-size: 13px; }
	.iw-mail__head { padding: 18px 16px 16px; }
	.iw-letter__head { grid-template-columns: auto minmax(0, 1fr); padding: 14px 14px 10px; gap: 10px; }
	.iw-letter__date { grid-column: 2; text-align: left; order: 3; }
	.iw-letter__hd > div { grid-template-columns: 44px minmax(0, 1fr); gap: 6px; }
	.iw-letter__hd dd { font-size: 14.5px; }
	.iw-letter__who, .iw-letter__body, .iw-letter__foot, .post_meta { padding-left: 14px; padding-right: 14px; }
	.iw-letter__body { font-size: 16.5px; }
	.iw-letter > details.iw-att, .iw-letter .signature { margin-left: 14px; margin-right: 14px; }
	.iw-letter--first .iw-letter__head .iw-face--m, .iw-letter__head .iw-face--m { width: 36px; height: 36px; }
	.iw-vcard__head { grid-template-columns: minmax(0, 1fr); grid-template-areas: "ph" "id" "nums" "dl"; padding: 20px 16px; justify-items: start; }
	.iw-vcard__head::before { height: 64px; }
	.iw-vcard__id { padding-top: 0; }
	.iw-face--xl { width: 96px; height: 96px; font-size: 32px; }
	.iw-vcard__dl { width: 100%; }
	.iw-vcard__grid { grid-template-columns: minmax(0, 1fr); }
	.iw-steps__list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 14px; }
	.iw-steps__list li:nth-child(4)::before { display: none; }
	.iw-msg { flex-direction: column; padding: 20px 18px; }
	.tborder td, .tborder th { padding: 8px 10px; }
	.iw-nextprev { flex-direction: column; }
}
@media (max-width: 400px) {
	.iw-logo__name { font-size: 15px; }
	.iw-tab { padding: 7px 10px; font-size: 13px; }
	.iw-sum { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.iw-sc__fact { transform: none; }
}

/* ------------------------------------------------------------------ ссылки в сообщениях: свой стиль форума («рамка выделения в редакторе»)
   Ссылка выглядит как выделенный объект в графическом редакторе: под словом волосяная линия 1px чернильного цвета,
   а на её концах два крошечных квадратных маркера-хэндла 4px (background-градиенты, box-decoration-break: clone —
   у ссылки, перенесённой на две строки, маркеры на каждом куске). Вес 600, без подчёркивания. При наведении
   проявляется вся рамка выделения 1px с четырьмя маркерами по углам и бледная сиреневая заливка, как у выделенного
   текстового блока. Без значка внешней ссылки. */
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url {
	color: #2d3480;
	font-weight: 600;
	text-decoration: none;
	padding: 0 3px 3px;
	margin: 0 1px;
	background:
		linear-gradient(#2d3480, #2d3480) 0 100% / 4px 4px no-repeat,
		linear-gradient(#2d3480, #2d3480) 100% 100% / 4px 4px no-repeat,
		linear-gradient(rgba(45, 52, 128, .45), rgba(45, 52, 128, .45)) 0 calc(100% - 1.5px) / 100% 1px no-repeat;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	transition: color .2s, background-color .2s;
}
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url:hover,
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url:focus-visible {
	color: #1f2463;
	background:
		linear-gradient(#2d3480, #2d3480) 0 0 / 4px 4px no-repeat,
		linear-gradient(#2d3480, #2d3480) 100% 0 / 4px 4px no-repeat,
		linear-gradient(#2d3480, #2d3480) 0 100% / 4px 4px no-repeat,
		linear-gradient(#2d3480, #2d3480) 100% 100% / 4px 4px no-repeat,
		linear-gradient(#2d3480, #2d3480) 0 1.5px / 100% 1px no-repeat,
		linear-gradient(#2d3480, #2d3480) 0 calc(100% - 1.5px) / 100% 1px no-repeat,
		linear-gradient(#2d3480, #2d3480) 1.5px 0 / 1px 100% no-repeat,
		linear-gradient(#2d3480, #2d3480) calc(100% - 1.5px) 0 / 1px 100% no-repeat,
		#ecebff;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url::after { content: none; }
