/* Шрифты — с нашего сервера (public/fonts, лицензия OFL рядом), без внешних загрузок. */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/pt-serif-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/pt-serif-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/pt-serif-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
/* Цвета */
--color-paper:#F8F6F1;--color-surface:#FFFFFF;--color-surface-warm:#FCFAF6;--color-ink:#292824;--color-muted:#5E5A52;
--color-brand:#92784F;--color-brand-hover:#7A6340;--color-brand-soft:#F2ECE0;--color-brand-ink:#5F4925;--color-link:var(--color-brand-hover);--color-link-hover:var(--color-brand-ink);--color-brand-line:#C5B38E;--color-border:#E7DFD1;--color-border-strong:#979084;
--color-on-brand:#FFFFFF;--color-neutral-bg:#F0EEE9;--color-danger-border:#E8C5C1;--color-focus:var(--color-brand);
--color-plum:#65506F;--color-sky:#83A9D0;--color-sky-hover:#A5C3E2;--color-footer:#292824;--color-footer-text:#D9D2C5;--color-footer-muted:#B3AB9C;--color-footer-line:#3D3B35;
--color-success-bg:#E4F1E7;--color-success:#245B39;--color-progress:#3E9B50;--color-progress-track:#E3E6E2;--color-warning-bg:#FFF1D6;--color-warning:#805B16;--color-danger-bg:#FBE9E7;--color-danger:#8D302A;--color-info-bg:#E8F0F4;--color-info:#315766;
--logo-cross:#92784F;
/* Отступы: базовая единица 4 px */
--space-1:4px;   /* минимальные интервалы, иконка и текст */
--space-2:8px;   /* связанные элементы */
--space-3:12px;  /* компактные элементы управления */
--space-4:16px;  /* стандартный отступ в формах и карточках */
--space-6:24px;  /* между полями и группами */
--space-8:32px;  /* между смысловыми блоками */
--space-12:48px; /* между крупными блоками */
--space-16:64px; /* большие секции */
--space-20:80px; /* главные секции лендинга */
--space-24:96px; /* главные секции лендинга на широком экране */
--space-5:var(--space-6);--space-10:var(--space-12); /* старые имена → ближайшее значение шкалы */
/* Размеры */
--container:1180px;--container-narrow:720px;--container-gutter:var(--space-8);
--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-subtle:0 2px 10px rgba(41,40,36,.04);
--text-h1:clamp(28px,3vw,36px);--text-h2:24px;--text-h3:18px;--text-lead:18px;--text-body:17px;--text-ui:16px;--text-small:14px;--text-tiny:13px;
--font-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
@media(max-width:720px){:root{--space-12:32px;--space-16:48px;--space-20:48px;--space-24:64px;--container-gutter:var(--space-4);--text-h2:21px;--text-h3:17px}}


*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:1.5}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid transparent;background:var(--color-brand-hover);color:var(--color-on-brand);font:inherit;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}button:hover,.button:hover{background:var(--color-brand-ink);color:var(--color-on-brand)}.button.secondary,button.secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border)}.button.ghost,button.ghost{background:transparent;color:var(--color-muted);border-color:transparent}.button.danger{background:var(--color-surface);border-color:var(--color-danger-border);color:var(--color-danger)}.small{font-size:var(--text-small)}.muted{color:var(--color-muted)}.tiny{font-size:var(--text-tiny);color:var(--color-muted)}h1,h2,h3,p{margin-top:0}h1{font-size:var(--text-h1);line-height:1.18;letter-spacing:-.035em;margin-bottom:var(--space-2)}h2{font-size:var(--text-h2);letter-spacing:-.025em;margin-bottom:var(--space-2)}h3{font-size:var(--text-h3);margin-bottom:var(--space-1)}p{margin-bottom:var(--space-3)}.shell{max-width:1180px;margin:0 auto;padding:0 var(--space-8)}.public-header{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:0;background:rgba(255,255,255,.68)}.public-header .inner{max-width:1180px;margin:auto;padding:0 var(--space-8);width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.logo{display:block;width:164px;height:auto}.header-actions{display:flex;align-items:center;gap:var(--space-4)}.org-pill{display:inline-flex;gap:var(--space-2);align-items:center;font-size:var(--text-small);color:var(--color-muted)}.org-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--color-border);border-radius:50%;color:var(--color-brand);background:var(--color-surface);font-weight:700}.main{padding:var(--space-8) 0 var(--space-16)}.crumbs{font-size:var(--text-small);color:var(--color-muted);margin-bottom:var(--space-6)}.lede{font-size:var(--text-lead);color:var(--color-muted);max-width:710px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:var(--space-6);margin:var(--space-8) 0 var(--space-3)}.toolbar{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-6) 0}.chip{display:inline-flex;align-items:center;min-height:36px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-small)}.chip.active{background:var(--color-brand-soft);border-color:var(--color-brand-line);color:var(--color-brand-ink);font-weight:600}.catalog-list{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.catalog-row{display:grid;grid-template-columns:minmax(0,1fr) 190px 132px;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.catalog-row:last-child{border-bottom:0}.catalog-row h3{margin:0 0 var(--space-1)}.catalog-price{font-weight:700;text-align:right;font-size:var(--text-lead);white-space:nowrap}.catalog-action{justify-self:end}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle)}.pad{padding:var(--space-6)}.content-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:var(--space-6);align-items:start}.form-grid{display:grid;gap:var(--space-4)}.field label{display:block;font-weight:600;font-size:var(--text-ui);margin-bottom:var(--space-1)}.field input,.field select,.field textarea,.name-input{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-3);background:var(--color-surface);color:var(--color-ink);font:inherit;min-height:44px}.field textarea{min-height:92px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.name-input:focus{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.name-list{display:grid;gap:var(--space-2)}.name-row{display:grid;grid-template-columns:30px 1fr 42px;gap:var(--space-2);align-items:center}.number{display:grid;place-items:center;width:30px;height:38px;background:var(--color-paper);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-small)}.icon-btn{min-width:40px;height:42px;padding:0;background:var(--color-surface);color:var(--color-muted);border:1px solid var(--color-border)}.item-price{display:flex;justify-content:space-between;align-items:end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-6)}.item-price strong{font-size:var(--text-h2)}.info{background:var(--color-info-bg);color:var(--color-info);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-small)}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-brand-soft);color:var(--color-brand-ink)}.checkout-list{display:grid}.checkout-item{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.checkout-item:last-child{border-bottom:0}.summary-line{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;color:var(--color-muted)}.summary-total{border-top:1px solid var(--color-border);padding-top:var(--space-4);margin-top:var(--space-2);display:flex;justify-content:space-between;align-items:center;font-size:var(--text-lead);font-weight:700}.summary-total strong{font-size:27px;color:var(--color-ink)}.footer{border-top:1px solid var(--color-footer-line);padding:var(--space-8) 0;background:var(--color-footer);color:var(--color-footer-text);font-size:var(--text-small);line-height:1.7}.footer .tiny,.footer .muted{color:var(--color-footer-muted)}.footer a{color:var(--color-sky);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.footer a:hover,.footer a:focus-visible{color:var(--color-sky-hover);text-decoration-color:currentColor}.footer :focus-visible{outline-color:var(--color-sky)}.success-mark{height:58px;width:58px;display:grid;place-items:center;border-radius:50%;background:var(--color-success-bg);color:var(--color-success);font-size:28px;margin:0 auto var(--space-4)}.center{text-align:center}.narrow{max-width:700px;margin:0 auto}.order-code{background:var(--color-paper);border:1px dashed var(--color-brand-line);padding:var(--space-3);border-radius:var(--radius-sm);display:inline-block;font-weight:700;letter-spacing:.05em}.app{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-8)}.sidebar .logo{width:148px;margin:0 var(--space-2)}.side-label{font-size:var(--text-tiny);color:var(--color-muted);text-transform:uppercase;letter-spacing:.1em;padding:0 var(--space-3);margin-bottom:var(--space-1)}.nav{display:grid;gap:var(--space-1)}.nav a{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-ui)}.nav a.active{background:var(--color-brand-soft);color:var(--color-brand-ink);font-weight:650}.nav .nav-icon{width:18px;text-align:center;opacity:.8}.sidebar-bottom{margin-top:auto;padding:var(--space-3);background:var(--color-paper);border-radius:var(--radius-md);font-size:var(--text-tiny);color:var(--color-muted)}.app-main{padding:var(--space-8) clamp(var(--space-6),3vw,var(--space-12)) var(--space-12);min-width:0}.app-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8)}.app-top p{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--text-ui)}.profile-mini{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-small)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--color-brand-soft);color:var(--color-brand);font-weight:700}.page-title{margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.stat{padding:var(--space-4)}.stat .label{font-size:var(--text-small);color:var(--color-muted)}.stat .num{font-size:29px;font-weight:700;letter-spacing:-.03em;margin:var(--space-2) 0 var(--space-1)}.stat .sub{font-size:var(--text-tiny);color:var(--color-muted)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:640px}.data-table th{text-align:left;padding:var(--space-3) var(--space-3);background:var(--color-surface-warm);font-weight:600;color:var(--color-muted);font-size:var(--text-tiny);white-space:nowrap}.data-table td{padding:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-small);vertical-align:middle}.data-table tr:hover td{background:var(--color-paper)}.status{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-tiny);font-weight:650;white-space:nowrap;background:var(--color-neutral-bg);color:var(--color-muted)}.status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.status.ok{background:var(--color-success-bg);color:var(--color-success)}.status.warn{background:var(--color-warning-bg);color:var(--color-warning)}.status.bad{background:var(--color-danger-bg);color:var(--color-danger)}.status.info{background:var(--color-info-bg);color:var(--color-info)}.table-tools{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0}.search{min-width:220px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-2) var(--space-3);font:inherit}.row-title{font-weight:650;color:var(--color-ink)}.admin-form{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:var(--space-3) var(--space-6)}.admin-form>label{color:var(--color-muted);font-size:var(--text-small)}.inline-help{font-size:var(--text-tiny);color:var(--color-muted);margin-top:var(--space-1)}.form-actions{grid-column:2;display:flex;gap:var(--space-2);margin-top:var(--space-2)}.breadcrumbs-app{font-size:var(--text-small);color:var(--color-muted);margin-bottom:var(--space-2)}.progress{height:7px;background:var(--color-neutral-bg);border-radius:var(--radius-pill);overflow:hidden}.progress span{display:block;width:70%;height:100%;background:var(--color-brand);border-radius:var(--radius-pill)}.kpi{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.subscription-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-6) var(--space-6);background:var(--color-brand-soft);border:1px solid var(--color-brand-line);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.subscription-banner p{margin:var(--space-1) 0 0;color:var(--color-brand-ink);font-size:var(--text-small)}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.list-clean{list-style:none;padding:0;margin:0}.list-clean li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.list-clean li:last-child{border-bottom:0}.screen-label{display:inline-flex;font-size:var(--text-tiny);text-transform:uppercase;letter-spacing:.09em;color:var(--color-muted);margin-bottom:var(--space-2)}.price-large{font-size:38px;font-weight:750;letter-spacing:-.05em}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.plan{padding:var(--space-6)}.plan.featured{border-color:var(--color-brand-line);box-shadow:0 0 0 1px var(--color-brand-line)}.plan ul{padding-left:var(--space-4);color:var(--color-muted);font-size:var(--text-small);line-height:1.8}.plan .button{width:100%;margin-top:var(--space-2)}.index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.index-card{padding:var(--space-6);display:flex;flex-direction:column;align-items:flex-start;min-height:170px}.index-card .n{font-size:var(--text-tiny);letter-spacing:.1em;color:var(--color-brand);font-weight:700;margin-bottom:var(--space-3)}.index-card p{font-size:var(--text-small);color:var(--color-muted);flex:1}.mock-banner{padding:var(--space-4) var(--space-4);border-radius:var(--radius-md);background:var(--color-brand-soft);border:1px dashed var(--color-brand-line);margin-bottom:var(--space-6);font-size:var(--text-small);color:var(--color-brand-ink)}
@media(max-width:950px){.app{grid-template-columns:205px 1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.plans{grid-template-columns:1fr}.index-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.shell{padding:0 var(--space-4)}.public-header .inner{padding:0 var(--space-4)}.public-header{height:64px}.logo{width:135px}.header-actions .hide-mobile{display:none}.main{padding:var(--space-6) 0 var(--space-12)}.catalog-row{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);padding:var(--space-4)}.catalog-price{grid-column:1;text-align:left;font-size:var(--text-ui)}.catalog-action{grid-column:2;grid-row:1/3}.section-top{align-items:start;flex-direction:column}.pad{padding:var(--space-4)}.content-grid{grid-template-columns:1fr}.app{display:block}.sidebar{position:static;border-right:0;border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);gap:var(--space-3)}.sidebar .logo{width:122px}.sidebar .nav-wrap{overflow-x:auto}.sidebar .nav{display:flex;min-width:max-content}.side-label,.sidebar-bottom{display:none}.sidebar .nav a{padding:var(--space-2) var(--space-2)}.app-main{padding:var(--space-6) var(--space-4) var(--space-8)}.app-top{align-items:flex-start}.app-top .profile-mini{display:none}.stat-grid{gap:var(--space-2)}.stat{padding:var(--space-3)}.stat .num{font-size:24px}.admin-form{grid-template-columns:1fr;gap:var(--space-1)}.form-actions{grid-column:1;flex-wrap:wrap}.detail-columns{grid-template-columns:1fr}.subscription-banner{align-items:flex-start;flex-direction:column}.index-grid{grid-template-columns:1fr}.data-table{min-width:600px}.header-actions{gap:var(--space-2)}}

/* ===== Дополнения приложения «Записки онлайн» (поверх стилей макетов) ===== */
.logo{width:200px}.sidebar .logo{width:180px}
:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--color-surface);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);z-index:10}.skip-link:focus{left:8px}
.status.neutral{background:var(--color-neutral-bg);color:var(--color-muted)}
.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-ui)}
.alert.ok{background:var(--color-success-bg);color:var(--color-success)}
.alert.warn{background:var(--color-warning-bg);color:var(--color-warning)}
.alert.bad{background:var(--color-danger-bg);color:var(--color-danger)}
.alert.info{background:var(--color-info-bg);color:var(--color-info)}
.field-error{color:var(--color-danger);font-size:var(--text-small);margin-top:var(--space-1)}
.field input.is-invalid,.field textarea.is-invalid,.name-input.is-invalid{border-color:var(--color-danger)}
.empty{text-align:center;padding:var(--space-12) var(--space-6)}.empty .empty-mark{width:52px;height:52px;margin:0 auto var(--space-3);border-radius:50%;display:grid;place-items:center;background:var(--color-paper);color:var(--color-muted);font-size:22px}
.empty p{color:var(--color-muted);max-width:460px;margin:0 auto var(--space-4)}
.demo-strip{background:var(--color-brand-soft);border-bottom:1px dashed var(--color-brand-line);color:var(--color-brand-ink);font-size:var(--text-tiny);text-align:center;padding:var(--space-1) var(--space-3)}
button[disabled],.button[aria-disabled=true]{opacity:.6;cursor:not-allowed}
/* Нажатие — кнопка чуть «вдавливается»; занята — крутится значок и меняется надпись (не только цвет). */
button:active:not([disabled]),.button:active{transform:translateY(1px);filter:brightness(.94)}
button[aria-busy=true]{opacity:.85;cursor:progress}
.alert .icon{vertical-align:-3px;margin-right:var(--space-1)}
.org-title{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-1)}.org-title .org-mark{width:46px;height:46px;font-size:var(--text-lead)}
.kv{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--space-2) var(--space-6);font-size:var(--text-ui)}.kv dt{color:var(--color-muted)}.kv dd{margin:0}
.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-small)}.timeline li:last-child{border-bottom:0}
.badge-ai{display:inline-block;font-size:var(--text-tiny);padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-info-bg);color:var(--color-info);margin-left:var(--space-1)}
.error-page{min-height:70vh;display:grid;place-items:center;text-align:center;padding:var(--space-12) var(--space-4)}.error-page .code{font-size:var(--text-ui);color:var(--color-muted);letter-spacing:.1em}
.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.skeleton{background:linear-gradient(90deg,var(--color-neutral-bg) 25%,var(--color-paper) 50%,var(--color-neutral-bg) 75%);background-size:200% 100%;animation:sk 1.4s ease infinite;border-radius:var(--radius-sm);height:16px;margin:var(--space-2) 0}
@keyframes sk{to{background-position:-200% 0}}
.pomyannik{background:var(--color-surface)}.pomyannik-sheet{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-4);background:var(--color-surface);break-inside:avoid}
.pomyannik-sheet h2{font-size:20px;margin-bottom:var(--space-1)}.pomyannik-order{margin:var(--space-4) 0 0;font-size:var(--text-small);color:var(--color-muted)}.pomyannik-names.is-read{color:#625E55;font-weight:400}.pomyannik-names{list-style:none;padding:0;margin:var(--space-4) 0 0;font-size:22px;line-height:1.7;columns:2;column-gap:var(--space-12)}
.print-only{display:none}.pomyannik-date{font-size:var(--text-lead);font-weight:600;margin:0 0 var(--space-4)}
@media(max-width:720px){.panel-head{flex-wrap:wrap}.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:var(--space-2)}.pomyannik-sheet{padding:var(--space-4)}.pomyannik-names{columns:1;font-size:20px}.sidebar .logo{width:150px}.logo{width:170px}}
@media print{
  .sidebar,.app-top .profile-mini,.no-print,.demo-strip,.public-header,.footer{display:none!important}
  .print-only{display:block}
  body{background:#FFFFFF;font-size:14pt}.app{display:block}.app-main{padding:0}
  .pomyannik-sheet{border:0;border-bottom:1px solid #999;border-radius:0;padding:0 0 18pt;margin-bottom:18pt}
  .pomyannik-names{font-size:18pt}
}

/* Переключатели и галочки внутри полей — обычного размера */
.field input[type=radio],.field input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;flex:none;accent-color:var(--color-brand)}
/* Отметки согласия в корзине: крупный квадрат, вся строка нажимается, читаемый текст */
.agree{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-2) 0;font-size:15px;line-height:1.45;cursor:pointer}
.agree input[type=checkbox]{width:24px;height:24px;margin:0;flex:none;accent-color:var(--color-brand)}
/* Поля ввода 16 px: телефон не приближает страницу при вводе */
.field input,.field select,.field textarea,.name-input{font-size:16px}

/* ===== Режим чтения на службе ===== */
.reading{--reading-scale:1;background:#FFFDF8;color:#1E1D18;min-height:100vh}
.reading.dark{background:#141310;color:#EDE6D6}
.reading-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:inherit;border-bottom:1px solid var(--color-border)}
.reading.dark .reading-bar,.reading.dark .reading-tabs{border-color:#3A362C}
.reading-back{font-size:24px;min-width:44px;min-height:44px;display:grid;place-items:center;color:inherit}
.reading-title{flex:1;display:flex;flex-direction:column;line-height:1.2;font-size:var(--text-ui)}.reading-title span{opacity:.65;font-size:var(--text-tiny)}
.reading-tools{display:flex;gap:var(--space-1)}.reading-tools button{background:transparent;color:inherit;border:1px solid var(--color-border);min-width:44px;padding:var(--space-1) var(--space-2)}
.reading.dark .reading-tools button{border-color:#3A362C}
.reading-tabs{display:flex;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border);overflow-x:auto}
.reading-tabs a{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:48px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:inherit;white-space:nowrap;font-size:var(--text-body);font-weight:600}.reading-tabs a:hover{border-color:var(--color-brand);color:inherit}.reading-tabs a.active{background:var(--color-brand-hover);border-color:var(--color-brand-hover);color:var(--color-on-brand)}
.reading.dark .reading-tabs a{background:transparent;border-color:#5A5446}.reading.dark .reading-tabs a.active{background:#D9B877;border-color:#D9B877;color:#141310}
.reading-main{max-width:760px;margin:0 auto;padding:var(--space-2) var(--space-4) var(--space-16)}
.reading-group h1{font-size:calc(22px * var(--reading-scale));line-height:1.25;color:var(--color-brand-ink);margin:var(--space-6) 0 var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border);letter-spacing:0}
.reading.dark .reading-group h1{color:#D9B877;border-color:#3A362C}
.reading-group h2{font-size:calc(17px * var(--reading-scale));line-height:1.3;opacity:.75;margin:var(--space-4) 0 var(--space-1);font-weight:600;letter-spacing:0}
.reading-names{list-style:none;padding:0;margin:0;font-size:calc(28px * var(--reading-scale));line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.reading-names li{padding:2px 0}
.reading-status{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-success-bg);color:var(--color-success)}
.reading-empty{text-align:center;padding:var(--space-16) var(--space-2);opacity:.75}.reading-empty h1{font-size:22px}
.reading-group{scroll-margin-top:72px}
.reading-mark-wrap{margin-top:var(--space-6);margin-bottom:var(--space-8)}.reading-mark-wrap .reading-status{margin:0 0 var(--space-3)}
.reading-mark button{width:100%;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-3) var(--space-4);font-size:calc(18px * var(--reading-scale));line-height:1.25;font-weight:600;text-align:center;border-radius:var(--radius-md);background:var(--color-brand-hover);border:2px solid var(--color-brand-hover);color:var(--color-on-brand)}
.reading-mark-main{display:inline-flex;align-items:center;gap:var(--space-2)}.reading-mark-sub{font-size:calc(15px * var(--reading-scale));font-weight:400}
.reading-mark-confirm{display:flex;flex-direction:column;gap:var(--space-3)}.reading-mark-confirm[hidden],.reading-mark-open[hidden]{display:none}
.reading-mark .reading-mark-no{background:transparent;color:inherit;border-color:var(--color-border-strong)}
.reading-mark-question{margin:0;font-size:calc(18px * var(--reading-scale));line-height:1.4;text-align:center}
.reading-mark-yes{flex-direction:row!important;gap:var(--space-2)!important}
.reading-mark-done{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0;padding:var(--space-3);font-size:calc(16px * var(--reading-scale));font-weight:600;color:var(--color-success)}
.reading.dark .reading-mark button{background:#D9B877;border-color:#D9B877;color:#141310}.reading.dark .reading-mark .reading-mark-no{background:transparent;border-color:#5A5446;color:#EDE6D6}.reading.dark .reading-mark-done{color:#9CCBA6}
.launch-checklist{margin:var(--space-3) 0 0;padding-left:var(--space-6);display:grid;gap:var(--space-3);font-size:var(--text-ui)}.launch-checklist li{line-height:1.55}.launch-checklist .status{margin-right:var(--space-2)}
.guide-steps{margin:0;padding-left:var(--space-6);display:grid;gap:var(--space-6)}.guide-steps>li::marker{font-weight:700;color:var(--color-brand)}.guide-steps h3{margin-bottom:var(--space-1)}.guide-steps p,.guide-steps ul{font-size:var(--text-ui);margin-bottom:var(--space-2)}.guide-steps ul{padding-left:var(--space-4)}

.bt-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.savings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-4) 0}.savings .field label{font-size:var(--text-small)}@media(max-width:760px){.savings-grid{grid-template-columns:1fr}}.legal-doc h2{font-size:var(--text-h3);margin-top:var(--space-6)}.legal-doc p,.legal-doc li{font-size:var(--text-body);line-height:1.65}

.org-context{font-size:var(--text-small);font-weight:650;color:var(--color-brand);margin-bottom:var(--space-1)}

/* ===== Дизайн-система 13.10.2026: контейнеры, типографика, логотип ===== */
html,body{max-width:100%;overflow-x:hidden}img,svg,video{max-width:100%}
.shell,.public-header .inner{max-width:var(--container);padding-left:var(--container-gutter);padding-right:var(--container-gutter)}
.narrow{max-width:var(--container-narrow)}
h1{font-size:var(--text-h1);margin-bottom:var(--space-3)}h2{font-size:var(--text-h2);margin-bottom:var(--space-2)}h3{font-size:var(--text-h3);margin-bottom:var(--space-1)}
h1+p,h2+p,h3+p{margin-top:0}
.small{font-size:var(--text-small)}.tiny{font-size:var(--text-tiny)}
.main{padding:var(--space-12) 0 var(--space-16)}
.logo,.sidebar .logo{display:inline-flex;align-items:center;gap:var(--space-3);width:auto;margin:0;color:var(--color-brand);text-decoration:none;line-height:1.15}
.logo-mark{width:40px;height:40px;flex:0 0 auto;color:var(--color-brand)}
.logo-text{display:flex;flex-direction:column;gap:2px}
.logo-name{font-size:20px;font-weight:650;letter-spacing:-.02em;color:var(--color-ink);white-space:nowrap}
.logo-accent{color:var(--color-brand);font-weight:500}
.logo-tagline{font-size:var(--text-tiny);color:var(--color-muted);white-space:nowrap}
.logo-dark .logo-name{color:var(--color-paper)}.logo-dark .logo-accent,.logo-dark{--logo-cross:#C9AE7E;color:#E7DFD1}.logo-dark .logo-tagline{color:#CFC6B5}
.sidebar .logo-mark{width:34px;height:34px}.sidebar .logo-name{font-size:18px}
@media(max-width:560px){.logo-tagline{display:none}.logo-mark{width:34px;height:34px}.logo-name{font-size:18px}.pad{padding:var(--space-4)}.data-table{min-width:560px}}.landing-section{margin-top:var(--space-20)}@media(min-width:1100px){.landing-section{margin-top:var(--space-24)}}

/* ===== Дизайн-система 14.10.2026: тёмный подвал прижат к низу коротких страниц ===== */
.public-page{min-height:100vh;display:flex;flex-direction:column}.public-page>.main{flex:1 0 auto}
/* Страницы ошибок */
.error-page{min-height:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-12) var(--container-gutter)}
.error-card{width:100%;max-width:var(--container-narrow);padding:var(--space-12) var(--space-8)}
.error-mark{width:64px;height:64px;margin:0 auto var(--space-4);border-radius:50%;display:grid;place-items:center;background:var(--color-brand-soft);color:var(--color-brand);font-size:var(--text-h2);font-weight:700}
.error-page .code{font-size:var(--text-small);color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-2)}
.error-page .lede{margin:0 auto var(--space-4)}
.error-hint{max-width:520px;margin:0 auto var(--space-6);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-warm);border:1px solid var(--color-border);color:var(--color-muted);font-size:var(--text-ui)}
.error-actions{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}
@media(max-width:560px){.error-card{padding:var(--space-8) var(--space-4)}.error-actions .button,.error-actions button{width:100%}}
/* Иконки (Lucide, <x-icon>): одна толщина и три размера */
:root{--icon-sm:16px;--icon-md:20px;--icon-lg:24px}
.icon{display:inline-block;flex:0 0 auto;vertical-align:-.2em}.icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.icon-md{width:var(--icon-md);height:var(--icon-md)}.icon-lg{width:var(--icon-lg);height:var(--icon-lg)}
.nav .nav-icon{width:auto;display:inline-flex;opacity:.85}
.link-icon{display:inline-flex;align-items:center;gap:var(--space-1)}
.empty .empty-mark .icon,.error-mark .icon,.success-mark .icon{width:50%;height:50%}
/* Обложка страницы организации: широкая и невысокая */
/* Обложка (решение владельца 16.10.2026): фото 4:3, поверх — затемнение снизу, заголовок белым прямо на фото, без плашки */
.org-hero.has-cover{position:relative;display:flex;align-items:flex-end;aspect-ratio:4/3;max-height:560px;width:100%;margin:calc(-1 * var(--space-6)) 0 var(--space-8);padding:var(--space-8);border-radius:var(--radius-lg);overflow:hidden;background:#2B2620;border:1px solid var(--color-border)}
.org-hero.has-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,.15) 0%,rgba(20,17,13,.25) 40%,rgba(20,17,13,.78) 100%);pointer-events:none}
.org-hero-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.org-cover{height:160px;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-brand-soft);border:1px solid var(--color-border)}
.org-cover img{display:block;width:100%;height:100%;object-fit:cover}
/* Превью обложки в настройках: небольшое, в том же формате 2:1, что обложка на странице с компьютера */
.org-cover.org-cover-preview{width:360px;max-width:100%;height:auto;aspect-ratio:2/1;margin:var(--space-4) 0}
/* Фото требы (по желанию организации): спокойная рамка, без теней и наложений */
.requirement-photo{display:block;width:100%;max-height:360px;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-brand-soft)}
.org-hero.has-cover .org-hero-note{position:relative;z-index:1;max-width:680px;padding:0;background:none;color:#fff}
.org-hero.has-cover .catalog-title{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.org-hero.has-cover .lede{margin-bottom:0;color:rgba(255,255,255,.92);text-shadow:0 1px 8px rgba(0,0,0,.5)}
@media(max-width:720px){
  .org-hero.has-cover{margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-6);padding:var(--space-4)}
  .org-hero.has-cover .catalog-title{font-size:26px}
  .org-hero.has-cover .lede{font-size:var(--text-ui)}
}
/* Страница организации: направления, разделы, строки треб, корзина (этап 3 плана виджета) */
.catalog-title{margin-bottom:var(--space-2)}
.segmented{display:flex;gap:var(--space-1);margin:var(--space-6) 0 var(--space-3);padding:var(--space-1);background:var(--color-neutral-bg);border-radius:var(--radius-pill);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.segmented::-webkit-scrollbar,.chip-scroll::-webkit-scrollbar{display:none}
.segmented a{flex:0 0 auto;min-height:40px;display:inline-flex;align-items:center;padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--color-ink);font-size:var(--text-ui);white-space:nowrap}
.segmented a:hover{color:var(--color-brand-ink);background:var(--color-surface)}
.segmented a[aria-current="page"]{background:var(--color-brand-hover);color:var(--color-on-brand);font-weight:600}
.chip-scroll{display:flex;gap:var(--space-2);margin:0 0 var(--space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chip-scroll .chip{flex:0 0 auto;white-space:nowrap}
.catalog-section{scroll-margin-top:var(--space-6)}
.catalog-link{color:inherit}.catalog-link:hover{color:var(--color-brand)}
.cart-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:var(--space-1);border-radius:var(--radius-pill);background:var(--color-brand-hover);color:var(--color-on-brand);font-size:var(--text-tiny);font-weight:700;line-height:1}
.total-box{display:flex;flex-direction:column;gap:2px}
.total-box strong{line-height:1.1}
.cart-bar{display:none}
@media(max-width:720px){
  .catalog-title{font-size:24px;line-height:1.25}
  .segmented{display:grid;grid-template-columns:1fr 1fr;width:auto;margin-top:var(--space-4);border-radius:var(--radius-md)}
  .segmented a{min-height:40px;justify-content:center;padding:0 var(--space-2);border-radius:var(--radius-sm)}
  .catalog-section{flex-direction:row;align-items:baseline;margin-top:var(--space-6)}
  .catalog-row{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--space-2)}
  .catalog-info{grid-column:1/-1}
  .catalog-price{grid-column:1;grid-row:2;align-self:center;font-size:var(--text-lead)}
  .catalog-action{grid-column:2;grid-row:2}
  .item-price{flex-direction:column;align-items:stretch}
  .item-price button{width:100%;justify-content:center}
  .cart-bar{position:fixed;left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:20;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--color-ink);color:var(--color-surface);box-shadow:0 6px 24px rgba(41,40,36,.25);font-size:var(--text-ui)}
  .cart-bar:hover{color:var(--color-surface)}
  .cart-bar-go{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:700;color:#E8D3A8}
  .main:has(.cart-bar){padding-bottom:calc(var(--space-12) + 64px)}
}
/* Главная — концепция «Записка»: образец записки, линейки вместо карточек, заголовки с засечками */
:root{--font-serif:"PT Serif",Georgia,"Times New Roman",serif}
.eyebrow{font-size:var(--text-small);letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand-ink);margin-bottom:var(--space-3)}
.home-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:var(--space-12);align-items:center;padding:var(--space-8) 0 var(--space-12)}
.home-title,.home-h2,.home-price-num{font-family:var(--font-serif);letter-spacing:0}
.home-title{font-size:clamp(28px,2.8vw,36px);line-height:1.18;font-weight:700;max-width:22ch;margin-bottom:var(--space-4)}
.home-intro .lede{max-width:56ch}
.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6);margin-top:var(--space-6)}
.home-link{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:600}
.home-h2{font-size:28px;font-weight:700;line-height:1.2;margin-bottom:var(--space-4);max-width:34ch}
.ruled-steps{list-style:none;counter-reset:step;margin:0;padding:0}
.ruled-steps li{counter-increment:step;display:grid;grid-template-columns:32px 1fr;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--color-border);color:var(--color-ink)}
.ruled-steps li::before{content:counter(step);font-family:var(--font-serif);font-weight:700;color:var(--color-brand)}
/* Главная (18.10.2026): смысловые блоки разделены тонкой линейкой, без карточек */
.home-intro-photo{margin:0;justify-self:end;width:100%;max-width:460px}
.home-intro-photo img{display:block;width:100%;height:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-subtle)}
.home-intro-photo figcaption{margin-top:var(--space-2);font-size:var(--text-small);color:var(--color-muted)}
.home-terms{margin:var(--space-4) 0 0;font-size:var(--text-ui);color:var(--color-muted)}
.home-block{margin-top:var(--space-20);scroll-margin-top:var(--space-6)}
.home-intro-line,.home-lead{max-width:60ch;font-size:var(--text-lead);color:var(--color-muted)}
.home-ruled{list-style:none;margin:var(--space-6) 0 0;padding:0}
.home-ruled li{position:relative;padding:var(--space-2) 0 var(--space-2) var(--space-6)}
.home-ruled li::before{content:"";position:absolute;left:0;top:calc(var(--space-2) + .75em);width:var(--space-3);height:0;border-top:1px solid var(--color-brand)}
/* Путь записки: четыре этапа под общей бронзовой линейкой, между ними — тонкие вертикальные */
.home-path{list-style:none;counter-reset:path;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-8);margin:var(--space-8) 0 0;padding:0}
.home-path li{counter-increment:path}
.home-path li::before{content:counter(path,decimal-leading-zero);display:block;margin-bottom:var(--space-3);font-family:var(--font-serif);font-size:28px;font-weight:700;line-height:1;color:var(--color-brand);font-variant-numeric:lining-nums}
.home-path h3,.home-tool-main h3,.home-tool-list dt{font-family:var(--font-serif);font-weight:700;letter-spacing:0}
.home-path h3{margin-bottom:var(--space-2)}
.home-path p{margin:0;color:var(--color-muted)}
/* Режим чтения: текст и настоящий снимок экрана */
.home-reading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-12);align-items:start}
.home-shot{margin:0}
.home-shot img{display:block;width:100%;height:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.home-shot figcaption{margin-top:var(--space-2);font-size:var(--text-small);color:var(--color-muted)}
/* Инструменты: каталог — листом слева, остальное — строками «название | описание» справа */
.home-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--space-12);align-items:start;margin-top:var(--space-8)}
.home-tool-main{padding:var(--space-6);background:var(--color-surface-warm);border:1px solid var(--color-brand-line);border-radius:var(--radius-sm)}
.home-tool-main h3{font-size:var(--text-h2);margin-bottom:var(--space-2)}
.home-tool-list{margin:0}
.home-tool-list>div{display:grid;grid-template-columns:minmax(140px,.45fr) minmax(0,1fr);gap:var(--space-2) var(--space-6);padding:var(--space-4) 0}
.home-tool-list>div:first-child{padding-top:0}
.home-tool-list dt{font-size:var(--text-h3);line-height:1.3}
.home-tool-list dd{margin:0;color:var(--color-muted)}
/* Стоимость */
.home-price{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:var(--space-12)}
.home-price-num{font-size:48px;font-weight:700;line-height:1;margin:var(--space-4) 0 var(--space-1)}
.home-price-term{margin-bottom:var(--space-3);font-size:var(--text-lead);font-weight:600;color:var(--color-brand-ink)}
.home-price .home-ruled{margin-top:0}
.home-fee{margin-top:var(--space-6);padding-left:var(--space-4);border-left:3px solid var(--color-brand-line);color:var(--color-brand-ink);max-width:62ch}
/* «Если оплатить доступ сейчас трудно» (25.10.2026): бледная плашка, как благословение; фото бланка записки слева, текст справа (5 : 7), на узком экране — столбиком */
.home-support{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-12);align-items:center;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-warm)}
.home-support-photo{margin:0}
.home-support-photo img{display:block;width:100%;height:auto;border-radius:var(--radius-md)}
.home-support-text{max-width:62ch}
.home-support-text .home-lead{color:var(--color-ink)}
.home-support .nowrap{white-space:nowrap}
@media(max-width:950px){.home-support{grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-6) var(--space-4)}.home-support-photo{max-width:420px}}
/* Подключение и форма заявки */
.home-connect{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-12)}
.home-connect-text .ruled-steps{margin:var(--space-2) 0 var(--space-6)}.home-connect-text .ruled-steps li{border-top:0;padding:var(--space-2) 0}
.home-form{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}
/* Вопросы — раскрывающиеся строки .doc-details */
.home-faq{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--space-12);align-items:start}
.home-faq .doc-body p{margin:0;max-width:62ch}.home-faq .doc-details,.home-faq .doc-details:last-child{border:0}
/* Финал: короткая строка, не повтор первого экрана */
.home-final{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--space-6) var(--space-12)}
.home-final>div:first-child{max-width:60ch}
.home-final p{margin:0}
.home-final-action p{margin-top:var(--space-2)}
@media(max-width:950px){
  .home-intro,.home-reading,.home-tools,.home-price,.home-connect,.home-faq{grid-template-columns:1fr;gap:var(--space-8)}
  .home-intro{padding-top:0}
  .home-intro-photo{justify-self:start;max-width:460px}
  .home-price-num{font-size:40px}
  .home-path{grid-template-columns:1fr;gap:var(--space-6)}
  .home-path li{display:grid;grid-template-columns:var(--space-12) minmax(0,1fr);column-gap:var(--space-4)}
  .home-path li::before{grid-row:1 / span 2;margin:0}
  .home-shot{max-width:640px}
}
@media(max-width:560px){.home-form,.home-tool-main,.home-audience{padding:var(--space-4)}.home-title{font-size:28px}.home-h2{font-size:24px}.home-tool-list>div{grid-template-columns:1fr}.home-final-action,.home-final-action .button{width:100%}}
.home-title,.home-h2,.home-price-num,.ruled-steps li::before{font-variant-numeric:lining-nums}
/* Двухэтапный вход: запасные коды и ключ для ручного ввода */
.recovery-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--space-1) var(--space-4);margin:var(--space-3) 0 0;padding-left:var(--space-6);font-size:var(--text-lead)}
.secret-key{display:inline-block;margin-top:var(--space-1);padding:var(--space-1) var(--space-2);letter-spacing:.06em;background:var(--color-paper);border:1px dashed var(--color-brand-line);border-radius:var(--radius-sm);word-break:break-all}
/* Сборы пожертвований: тонкая бронзовая шкала вместо ярких полос; суммы — строкой «чипов» */
.campaign-progress{margin-top:var(--space-2);max-width:420px}
.campaign-bar{height:8px;background:var(--color-progress-track);border-radius:var(--radius-pill);overflow:hidden;margin-bottom:var(--space-1)}
.campaign-bar span{display:block;height:100%;background:var(--color-progress);border-radius:var(--radius-pill)}
/* Фото сбора в перечне на странице организации */
.amount-choices{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.amount-choices .chip{gap:var(--space-2);cursor:pointer}
/* Оглавление разделов на странице организации (только компьютер): линованная сетка, как оглавление молитвослова */
.section-index{display:none}
@media(min-width:900px){
  .section-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:var(--space-6) 0 var(--space-2);border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}
  .section-index-cell{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-5);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);color:var(--color-ink);text-decoration:none;background:var(--color-surface)}
  .section-index-cell:hover{background:var(--color-surface-warm)}
  .section-index-cell:hover .section-index-title{color:var(--color-brand)}
  .section-index-cell:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}
  .section-index-title{font-family:var(--font-serif);font-weight:700;font-size:18px;line-height:1.3}
  .section-index-list{color:var(--color-muted);font-size:14px;line-height:1.45}
  .section-index-meta{margin-top:auto;padding-top:var(--space-2);font-size:13px;color:var(--color-muted);font-variant-numeric:lining-nums}
  .chip-scroll.section-chips{display:none}
}
/* Статистика кабинета: линованный лист, полоса суммы по месяцам — как .campaign-bar */
.ledger{margin:0 0 var(--space-6);border-top:1px solid var(--color-border-strong)}
.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}
.ledger-row dt{color:var(--color-muted);font-size:var(--text-ui)}
.ledger-row dd{margin:0;text-align:right;font-weight:700;font-size:var(--text-lead);font-variant-numeric:lining-nums;white-space:nowrap}
.ledger-row .tiny{display:block;font-weight:400}
.month-bar{height:4px;background:var(--color-border);border-radius:var(--radius-pill);overflow:hidden;min-width:120px}
.month-bar span{display:block;height:100%;background:var(--color-brand)}
.data-table td.num,.data-table th.num{text-align:right;white-space:nowrap}
/* Страница «Пожертвования»: линованный список сборов, фото слева (на телефоне — сверху) */
.campaign-list{margin-top:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}
.campaign-item{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--space-6);padding:var(--space-6);border-bottom:1px solid var(--color-border)}
.campaign-item:last-child{border-bottom:0}
.campaign-item:not(:has(.campaign-item-photo)){grid-template-columns:minmax(0,1fr)}
.campaign-item-photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border)}
.campaign-item-title{font-family:var(--font-serif);font-size:22px;margin:0 0 var(--space-2)}
.campaign-item p{margin:0 0 var(--space-2)}
.campaign-list-catalog{margin-top:0}
@media(max-width:720px){.campaign-item{grid-template-columns:minmax(0,1fr);gap:var(--space-3);padding:var(--space-4)}}

/* Чтение на службе: «не прочитано» крупно, «прочитано» приглушено; выбор дня */
.reading-day{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-ui)}
.reading-day a{padding:var(--space-1) var(--space-3);min-height:44px;display:inline-flex;align-items:center;color:inherit;border-bottom:2px solid transparent}.reading-day a.active{border-bottom-color:var(--color-brand);font-weight:600}
.reading-day label{margin-left:auto;opacity:.65}
.reading-day input[type=date]{min-height:44px;font-size:16px;padding:0 var(--space-2);background:transparent;color:inherit;border:1px solid var(--color-border)}
.reading-day button{min-height:44px;padding:0 var(--space-3);background:transparent;color:inherit;border:1px solid var(--color-border)}
.reading.dark .reading-day,.reading.dark .reading-day input[type=date],.reading.dark .reading-day button{border-color:#3A362C}
.reading-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-4) 0 0;font-size:var(--text-small)}
.reading-key{display:inline-flex;align-items:center;gap:var(--space-1)}
.reading-key-read{color:var(--color-success)}
.reading-note{margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}
.reading-note:not(.is-read)+.reading-note:not(.is-read){border-top:1px solid var(--color-border);border-radius:0;padding-top:var(--space-3)}
.reading.dark .reading-note:not(.is-read)+.reading-note:not(.is-read){border-top-color:#3A362C}
.reading-note.is-read{background:#F3F0E8}
.reading-note.is-read .reading-names{color:#625E55;font-weight:400}
.reading-note-mark{display:flex;align-items:center;gap:var(--space-1);margin:0;font-size:calc(14px * var(--reading-scale));font-weight:600;color:var(--color-success)}
.reading-note-purged{font-size:calc(16px * var(--reading-scale));font-style:italic;margin:var(--space-1) 0}
.reading.dark .reading-note.is-read{background:#1F1D19}
.reading.dark .reading-note.is-read .reading-names{color:#A39D8E}
.reading.dark .reading-note-mark,.reading.dark .reading-key-read{color:#9CCBA6}
/* Страница организации: направления, разделы строкой, строки треб, корзина (14.10.2026) */
.segmented{display:flex;gap:var(--space-1);margin:var(--space-6) 0 0;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto;scrollbar-width:none}
.segmented::-webkit-scrollbar{display:none}
.segmented a{flex:1 0 auto;display:flex;align-items:center;justify-content:center;min-height:40px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-ui);font-weight:600;white-space:nowrap;text-align:center}
.segmented a:hover{color:var(--color-ink);background:var(--color-surface-warm)}
.segmented a[aria-current=page]{background:var(--color-brand-hover);color:var(--color-on-brand)}
.chip-scroll{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0 0}
.catalog-section{scroll-margin-top:var(--space-4)}
.catalog-link{color:inherit}.catalog-link:hover{color:var(--color-brand-hover)}
.cart-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--color-brand-hover);color:var(--color-on-brand);font-size:var(--text-tiny);font-weight:700}
.cart-bar{display:none}
.total-box{display:grid;gap:2px}.total-box strong{font-size:var(--text-h2);line-height:1.1}
@media(max-width:720px){
  .catalog-title{font-size:24px;line-height:1.2}
  .lede{font-size:var(--text-body)}
  .chip-scroll{flex-wrap:nowrap;overflow-x:auto;margin-left:calc(-1 * var(--container-gutter));margin-right:calc(-1 * var(--container-gutter));padding:0 var(--container-gutter) var(--space-1);scrollbar-width:none}
  .chip-scroll::-webkit-scrollbar{display:none}
  .chip-scroll .chip{flex:0 0 auto;white-space:nowrap}
  .segmented{margin-left:calc(-1 * var(--space-1));margin-right:calc(-1 * var(--space-1))}
  .segmented a{flex:1 0 auto;padding:var(--space-2)}
  .catalog-section{flex-direction:row;align-items:baseline;justify-content:space-between;margin-top:var(--space-8)}
  .catalog-row{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--space-3)}
  .catalog-row .catalog-info{grid-column:1/-1}
  .catalog-row .catalog-price{grid-column:1;grid-row:2;text-align:left;align-self:center}
  .catalog-row .catalog-action{grid-column:2;grid-row:2;align-self:center}
  .cart-bar{position:fixed;left:var(--space-3);right:var(--space-3);bottom:var(--space-3);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:52px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-ink);color:var(--color-paper);box-shadow:0 6px 20px rgba(41,40,36,.25);font-weight:600}
  .cart-bar:hover{color:var(--color-paper)}
  .cart-bar-go{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-sky)}
  .public-page:has(.cart-bar) .footer{padding-bottom:calc(var(--space-8) + 64px)}
}
/* Телефон: четыре направления — сеткой 2 × 2, без скрытой прокрутки; у строки разделов — затухание справа как подсказка, что её можно листать */
@media(max-width:560px){
  .segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
  .segmented a{white-space:normal;line-height:1.2}
  .chip-scroll{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
}

/* Показать пароль: глаз добавляется скриптом справа в поле */
.password-wrap{position:relative}
.password-wrap input{padding-right:52px}
.password-toggle{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;width:48px;min-height:44px;padding:0;background:transparent;color:var(--color-muted);border:0}
.password-toggle:hover,.password-toggle[aria-pressed="true"]{background:transparent;color:var(--color-brand)}
.password-toggle:focus-visible{outline:2px solid var(--color-brand);outline-offset:-4px}

/* ===== Помощь для сотрудников обители: листок инструкции — линейки, засечки в заголовках, крупный текст ===== */
.reading-links{display:flex;gap:var(--space-4);flex-wrap:wrap;padding:0 var(--space-3);font-size:var(--text-ui)}
.reading-links a{color:inherit;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.help{max-width:760px;font-size:17px;line-height:1.65}
.help p,.help li{font-size:17px;line-height:1.65}
.help ul,.help ol{padding-left:1.4em}.help li{margin:0 0 var(--space-2)}
.help code{font-size:.9em;background:var(--color-brand-soft);padding:1px 4px;border-radius:var(--radius-sm);overflow-wrap:anywhere}
.help table{width:100%;border-collapse:collapse;margin:var(--space-4) 0;font-size:16px}
.help th,.help td{overflow-wrap:anywhere;text-align:left;vertical-align:top;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}
.help th{border-bottom:1px solid var(--color-border-strong);font-weight:700}
.help-toc{margin:var(--space-6) 0 var(--space-4)}
.help-toc-title{font-family:var(--font-serif);font-size:var(--text-h3);margin:0 0 var(--space-2)}
.help-toc ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-border-strong);counter-reset:toc}
.help-toc li{margin:0;counter-increment:toc;border-bottom:1px solid var(--color-border)}
.help-toc a{display:flex;gap:var(--space-3);align-items:baseline;min-height:48px;padding:var(--space-3) 0;color:var(--color-ink);font-family:var(--font-serif);font-weight:700;font-size:18px;line-height:1.3}
.help-toc a::before{content:counter(toc) ".";min-width:1.6em;color:var(--color-brand);font-variant-numeric:lining-nums}
.help-toc a:hover{color:var(--color-brand)}
.help-section{margin-top:var(--space-12);padding-top:var(--space-4);border-top:2px solid var(--color-border-strong);scroll-margin-top:var(--space-4)}
.help-section h2{font-family:var(--font-serif);font-size:var(--text-h2);line-height:1.25;margin:0 0 var(--space-4)}
.help-top{margin:var(--space-6) 0 0;font-size:var(--text-ui)}
@media(min-width:900px){
  .help{max-width:960px}
  .help-intro,.help-section{max-width:760px}
  .help-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-8)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{
  .reading-links,.help-toc,.help-top{display:none!important}
  .help{max-width:none;font-size:12pt}.help p,.help li{font-size:12pt}
  .help-section{margin-top:18pt}.help-section h2{break-after:avoid}
  .help a{color:inherit;text-decoration:none}
}
.pomyannik-day{padding:0 0 var(--space-3);margin-bottom:var(--space-4)}

/* Чтение на широком экране: панели выровнены по листу (760px) */
@media(min-width:800px){.reading-tabs,.reading-day,.reading-links{padding-left:calc((100% - 760px) / 2 + var(--space-4));padding-right:calc((100% - 760px) / 2 + var(--space-4))}}
/* Переключатель «Чтение | Помянник» — две плашки рядом, выбранная залита */
.view-switch{display:inline-flex;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}
.view-switch a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-4);color:var(--color-ink);font-weight:600;text-decoration:none!important}
.view-switch a+a{border-left:1px solid var(--color-border-strong)}
.view-switch a.active{background:var(--color-brand-hover);color:var(--color-on-brand)}
.reading.dark .view-switch{background:transparent;border-color:#5A5446}.reading.dark .view-switch a{color:inherit}.reading.dark .view-switch a+a{border-color:#5A5446}.reading.dark .view-switch a.active{background:#D9B877;color:#141310}
.reading-links{align-items:center;padding-top:var(--space-2)}
/* «Выйти» в строке ссылок чтения — как ссылка, после «Помощь» */
.reading-links{row-gap:0}.reading-logout{margin:0}.reading-logout button{all:unset;cursor:pointer;color:inherit;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}.reading-logout button:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}

/* «Не прочитано за прошлые дни» и дата подачи записки в «Непрочитанных» */
.reading-past{margin:0;padding:var(--space-3) var(--space-3);background:var(--color-warning-bg);border-bottom:1px solid var(--color-border)}.reading-past a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-warning);font-weight:600;text-decoration:underline;text-underline-offset:3px}.reading.dark .reading-past{background:#3A2F14}.reading.dark .reading-past a{color:#F0D9A0}
.reading-note-date{margin:0 0 var(--space-1);font-size:var(--text-small);color:var(--color-muted)}.reading.dark .reading-note-date{color:#B5AE9E}
@media(min-width:800px){.reading-past{padding-left:calc((100% - 760px) / 2 + var(--space-4));padding-right:calc((100% - 760px) / 2 + var(--space-4))}}
/* Главная: под первым блоком — фото настоящей записки «О здравии» фоном, поверх светлая вуаль (текст тёмный читается), справа образец записки */
/* Главная, первый экран (18.10.2026): без фото — тёплый фон бумаги и тёмный текст; справа снимок «Разделы треб» */
.home-intro{position:relative;margin-top:calc(-1 * var(--space-6));padding:var(--space-12) var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-warm)}
@media(max-width:950px){.home-intro{padding:var(--space-6) var(--space-4);margin-top:calc(-1 * var(--space-2))}}
/* Взаимодействие (16.10.2026): плавное наведение, выбранное заметно не только цветом, ссылки в тексте подчёркнуты */
a,button,.button,.chip,.choice-box,.section-index-cell,.w-choice,.w-row,.reading-tabs a,.view-switch a,.agree,.nav a{transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
label:has(>input[type=checkbox]),label:has(>input[type=radio]){cursor:pointer}
.agree input[type=radio]{width:22px;height:22px;margin:0;flex:none;accent-color:var(--color-brand)}
.chip:hover,.choice-box:hover{border-color:var(--color-brand)}
.chip:has(input:checked){background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand-ink);font-weight:600}
.choice-box:has(input:checked){border-color:var(--color-brand)!important;background:var(--color-brand-soft)!important;box-shadow:inset 0 0 0 1px var(--color-brand)!important}
.chip:has(input:focus-visible:not(:checked)),.choice-box:has(input:focus-visible:not(:checked)){outline:2px solid var(--color-focus);outline-offset:2px}
/* Кружок/галочка внутри плашки: без квадратной рамки (выбор и так виден по плашке), по центру строки текста */
.chip input[type=radio],.chip input[type=checkbox],.choice-box input[type=radio],.agree input{margin:0;flex:none}
.chip input[type=radio],.chip input[type=checkbox]{margin-right:6px}
.chip input:focus,.choice-box input:focus,.agree input:focus,.chip input:focus-visible,.choice-box input:focus-visible,.agree input:focus-visible{outline:none!important}
.chip{align-items:center;line-height:1.2;gap:var(--space-2)}
p a:not(.button),li a:not(.button):not(.chip),.inline-help a,.agree a,.lede a,.alert a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.nav a,.section-index-cell,.catalog-link,.w-row,.reading-tabs a,.view-switch a,.reading-day a{text-decoration:none!important}
/* Переключатель направлений: после перехода страница встаёт к нему; наведение заметное */
.segmented{scroll-margin-top:var(--space-4)}
.segmented a:not([aria-current=page]):hover{background:var(--color-surface);color:var(--color-brand-ink);box-shadow:inset 0 0 0 1px var(--color-brand-line)}
/* Кнопки: белая при наведении не заливается целиком — рамка и фон чуть темнее; основная темнеет */
.button.secondary:hover,button.secondary:hover{background:var(--color-surface-warm);color:var(--color-ink);border-color:var(--color-brand)}
.button.ghost:hover,button.ghost:hover{background:var(--color-surface-warm);color:var(--color-ink)}
.button.danger:hover{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger)}
/* На телефоне остаются направления и полный перечень; дополнительные кнопки разделов скрыты. */
@media(max-width:899px){
  .segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;width:auto}
  .segmented a{min-height:44px}
  .chip-scroll.section-chips{display:none}
}
/* Кружки и галочки — одно правило для сайта, кабинета и виджета (16.10.2026):
   один размер (22px) и по центру первой строки подписи, как бы ни была выровнена сама подпись. */
label:has(> input[type=radio]),label:has(> input[type=checkbox]){align-items:flex-start!important;gap:var(--space-2)}
label > input[type=radio],label > input[type=checkbox]{flex:none;width:22px!important;height:22px!important;margin:0!important;margin-top:calc((1lh - 22px) / 2)!important;vertical-align:middle;accent-color:var(--color-brand)}
/* Плашка с кружком (направление, сумма сбора): кружок не прижат к рамке и к тексту, высота под палец */
.chip:has(> input[type=radio]),.chip:has(> input[type=checkbox]){min-height:44px;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);gap:var(--space-2)}
.chip > input[type=radio],.chip > input[type=checkbox]{margin-right:4px!important}
/* Кабинет на телефоне: все пункты меню видны сразу — плашками в два столбца, без прокрутки вбок (решение владельца 16.10.2026) */
@media(max-width:720px){
  .sidebar .nav-wrap{overflow:visible}
  .sidebar .nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1);min-width:0!important}
  .sidebar .nav a{min-height:44px;padding:var(--space-2) var(--space-3)!important;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);white-space:normal;line-height:1.2}
  .sidebar .nav a.active{background:var(--color-brand-soft);border-color:var(--color-brand-line);color:var(--color-brand-ink)}
}
/* Телефон: «Чтение» — плашки направлений переносятся (не уходят за край); «Помянник» — переключатель, направления и печать отдельными строками */
@media(max-width:720px){
  .reading-tabs{flex-wrap:wrap;overflow:visible}
  .reading-tabs a{flex:1 1 40%;min-width:0;white-space:normal;text-align:center}
  .table-tools .view-switch{flex:1 1 100%}
  .table-tools .view-switch a{flex:1;justify-content:center}
  .table-tools [data-print]{flex:1 1 100%}
}
.reading-mark-confirm{scroll-margin-bottom:var(--space-8)}
/* Таблицы кабинета и админки на телефоне — карточками «подпись: значение», без прокрутки вбок (подписи ставит app.js) */
@media(max-width:720px){
  .table-wrap{overflow:visible}
  table.data-table{min-width:0;border-collapse:separate}
  table.data-table thead{display:none}
  table.data-table,table.data-table tbody,table.data-table tr,table.data-table td{display:block;width:100%}
  table.data-table tr{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}
  table.data-table tr:first-child{border-top:0}
  table.data-table td{display:grid;grid-template-columns:minmax(96px,38%) minmax(0,1fr);gap:var(--space-3);padding:var(--space-1) 0;border:0;font-size:var(--text-ui);overflow-wrap:anywhere}
  table.data-table td[data-label]::before{content:attr(data-label);color:var(--color-muted);font-size:var(--text-small)}
  table.data-table td:not([data-label]),table.data-table td[data-label='']{grid-template-columns:1fr}
  table.data-table tr:hover td{background:none}
}
@media(max-width:720px){table.data-table td > *{justify-self:start;max-width:100%}}
@media(max-width:720px){.admin-form>label{margin-top:var(--space-4)}.admin-form>label:first-child{margin-top:0}}
.agree > input[type=radio],.agree > input[type=checkbox]{margin-right:4px!important}
/* Плашки-варианты в одну строку (направление, вид, сумма, «Анонимно/почта»): кружок и текст строго по центру —
   одинаковые отступы сверху и снизу. По первой строке выравниваются только длинные подписи у галочек согласий. */
.chip:has(> input),.w-choice:has(> input),.choice-box:has(> input),.agree:has(> input[type=radio]){align-items:center!important}
label.chip > input[type=radio],label.chip > input[type=checkbox],label.w-choice > input[type=radio],label.w-choice > input[type=checkbox],label.choice-box > input[type=radio],label.agree > input[type=radio]{margin-top:0!important;margin-bottom:0!important;align-self:center}
.chip,.w-choice{line-height:1.25}
/* Две цены («10 ₽ заказная / 5 ₽ простая») — по левому краю */
.catalog-price{text-align:left!important}
/* Плашки-варианты: окончательно — кружок 22px строго по центру строки, в том числе когда он вложен в <span> (вид «Заказная/Простая»).
   Селекторы сильнее общего label:has(> input) (иначе проигрывают по специфичности). */
label.chip:has(input[type=radio]),label.chip:has(input[type=checkbox]),label.w-choice:has(input[type=radio]),label.choice-box:has(input[type=radio]),label.agree:has(input[type=radio]){align-items:center!important}
label.w-choice > span:has(> input),label.choice-box > span:has(> input){display:inline-flex!important;align-items:center!important;gap:var(--space-2)}
label.chip input[type=radio],label.chip input[type=checkbox],label.w-choice input[type=radio],label.choice-box input[type=radio],label.agree input[type=radio]{width:22px!important;height:22px!important;margin:0 4px 0 0!important;align-self:center;flex:none}
/* Плашка-вариант внутри поля формы: не превращать в блочную подпись поля (.field label{display:block}) — иначе ломается центровка */
.field label.chip{display:inline-flex!important;margin-bottom:0;font-weight:500}
/* Цены в перечне — мягче названия требы: приглушённая бронза, полужирный, подписи серые (16.10.2026) */
.catalog-price{color:var(--color-brand-ink);font-weight:600}
.catalog-price .tiny,.catalog-price .muted{color:var(--color-muted);font-weight:400}
/* Цены везде мягче заголовков (решение владельца 16.10.2026): вид требы, корзина, оглавление разделов, сборы. «Итого» — тёмное, это сумма к оплате. */
label.choice-box > strong,.checkout-item > strong,.section-index-meta,.campaign-progress strong{color:var(--color-brand-ink);font-weight:600}
label.choice-box > strong .tiny,.checkout-item .tiny{color:var(--color-muted);font-weight:400}
/* Направления на странице организации — отдельные плашки с рамкой и промежутком (раньше сливались в одну полосу) */
nav.segmented{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;background:none;border:0;border-radius:0;width:auto;max-width:100%;overflow:visible}
nav.segmented a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-ui);font-weight:600;white-space:nowrap}
nav.segmented a:not([aria-current=page]):hover{border-color:var(--color-brand);background:var(--color-surface-warm);color:var(--color-ink);box-shadow:none}
nav.segmented a[aria-current=page]{background:var(--color-brand-hover);border-color:var(--color-brand-hover);color:var(--color-on-brand)}
@media(max-width:899px){nav.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}nav.segmented a{white-space:normal;text-align:center}}

/* Оттенок фона по этапу пути и разделу кабинета (класс stage-* на body, helper page_stage). Чистые бледные цвета без серого; карточки остаются белыми. */
:root{--stage-choose:#FEFEFC;--stage-fill:#FFFDF8;--stage-pay:#FAFCFF;--stage-done:#F9FDFB;--stage-info:#FCFDFD;--stage-cab-home:#FBFCFE;--stage-cab-catalog:#FFFCF8;--stage-cab-orders:#F9FCFF;--stage-cab-pomyannik:#FCFBFF;--stage-cab-money:#F9FDFB;--stage-cab-settings:#F9FDFD;--stage-platform:#FCFBFE}
body.stage-choose,body.widget-page.stage-choose{background:var(--stage-choose)}body.stage-fill,body.widget-page.stage-fill{background:var(--stage-fill)}body.stage-pay,body.widget-page.stage-pay{background:var(--stage-pay)}body.stage-done,body.widget-page.stage-done{background:var(--stage-done)}body.stage-info,body.widget-page.stage-info{background:var(--stage-info)}body.stage-cab-home,body.widget-page.stage-cab-home{background:var(--stage-cab-home)}body.stage-cab-catalog,body.widget-page.stage-cab-catalog{background:var(--stage-cab-catalog)}body.stage-cab-orders,body.widget-page.stage-cab-orders{background:var(--stage-cab-orders)}body.stage-cab-pomyannik,body.widget-page.stage-cab-pomyannik{background:var(--stage-cab-pomyannik)}body.stage-cab-money,body.widget-page.stage-cab-money{background:var(--stage-cab-money)}body.stage-cab-settings,body.widget-page.stage-cab-settings{background:var(--stage-cab-settings)}body.stage-platform,body.widget-page.stage-platform{background:var(--stage-platform)}

/* Ссылка «Не прочитано… → Непрочитанные»: inline-flex съедает пробелы — нужен gap, иначе текст слипается со стрелкой. */
.reading-past a{gap:var(--space-2);flex-wrap:wrap}

/* «Помянник»: панель рядами — сверху «Чтение | Помянник» и спокойная «Печать» (белая, со значком), ниже направления плашками, как в «Чтении», ниже день. */
.pomyannik-toolbar{display:grid;gap:var(--space-3);margin:var(--space-4) 0 var(--space-3)}
.pomyannik-toolbar-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
.pomyannik-toolbar-top [data-print]{border-color:var(--color-border-strong)}
.pomyannik-toolbar-top [data-print]:hover:not(:disabled){background:var(--color-surface-warm);border-color:var(--color-brand);color:var(--color-ink)}
.reading-tabs.pomyannik-tabs{padding:0;border-bottom:0;flex-wrap:wrap;overflow:visible}
.reading-tabs.pomyannik-tabs a{flex:0 1 auto;min-width:150px}
.pomyannik-day{border-bottom:1px solid var(--color-border)}
/* Телефон: выбор дня — «Сегодня / Вчера / Непрочитанные» первой строкой, календарь и «Показать» второй (и в «Чтении», и в «Помяннике»). */
@media(max-width:720px){
  .pomyannik-toolbar-top .view-switch{flex:1 1 100%}
  .pomyannik-toolbar-top [data-print]{flex:1 1 100%}
  .reading-tabs.pomyannik-tabs a{flex:1 1 40%;min-width:0}
  .reading-day a{flex:1 1 28%;justify-content:center;text-align:center;white-space:normal;padding-left:var(--space-1);padding-right:var(--space-1)}
  .reading-day label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .reading-day input[type=date]{flex:1 1 60%}
}
/* В кабинете («Помянник») выбор дня и строка «Не прочитано…» — по левому краю, без центрирования из листа «Чтения»; жёлтая полоса — спокойной плашкой. */
.app-main .reading-day{padding-left:0;padding-right:0}
.app-main .reading-past{padding:var(--space-1) var(--space-3);margin:0 0 var(--space-4);background:#FFF8E6;border:1px solid #F0DFB4;border-radius:var(--radius-md)}
.app-main .pomyannik-date{margin-top:var(--space-2)}
/* Кабинет → «Виджет»: образец кнопки «Требы» на пёстром фоне. Цвет — из выбранной плашки (--wb, стиль в разметке), движение — как в vidzhet.js */
.widget-preview-stage{display:flex;align-items:center;justify-content:center;width:200px;height:160px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:repeating-linear-gradient(135deg,#E9E1D2 0 14px,#C9BBA3 14px 28px,#F4EFE6 28px 42px)}
.widget-preview-btn{position:relative;width:96px;height:96px;border-radius:50%;border:3px solid #fff;background:var(--wb,#7A6340);color:#fff;font:600 17px/1.1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 0 0 1px rgba(0,0,0,.08),0 6px 18px rgba(0,0,0,.28)}
.widget-preview-btn .icon,.widget-preview-btn span{position:relative}.widget-preview-btn .icon{width:32px;height:32px}
/* Кольцо перелива видно и при выключенной анимации — тогда просто стоит на месте. */
.widget-form:has(input[name=widget_animation][value=pereliv]:checked) .widget-preview-btn{overflow:hidden;border:0}
.widget-form:has(input[name=widget_animation][value=pereliv]:checked) .widget-preview-btn::before{content:'';position:absolute;inset:-30%;background:conic-gradient(#00C8FF,#F20ABF,#FFC700,#00C8FF);pointer-events:none}
.widget-form:has(input[name=widget_animation][value=pereliv]:checked) .widget-preview-btn::after{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--wb,#B07A2E);pointer-events:none}
.widget-form:has(input[name=widget_animation][value=pereliv]:checked) .widget-preview-btn .icon,.widget-form:has(input[name=widget_animation][value=pereliv]:checked) .widget-preview-btn span{z-index:1}
@media(prefers-reduced-motion:no-preference){
  .widget-form:has(input[name=widget_animation][value=krugi]:checked) .widget-preview-btn::after{content:'';position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--wb,#7A6340);animation:wb-krugi 3s ease-out infinite;pointer-events:none}
  .widget-form:has(input[name=widget_animation][value=svechenie]:checked) .widget-preview-btn{animation:wb-svechenie 2.6s ease-in-out infinite}
  .widget-form:has(input[name=widget_animation][value=blik]:checked) .widget-preview-btn{overflow:hidden}
  .widget-form:has(input[name=widget_animation][value=blik]:checked) .widget-preview-btn::before{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:wb-blik 3.5s ease-in-out infinite;pointer-events:none}
  .widget-form:has(input[name=widget_animation][value=pryzhok]:checked) .widget-preview-btn{animation:wb-pryzhok 6s ease infinite}
  .widget-form:has(input[name=widget_animation][value=pereliv]:checked) .widget-preview-btn::before{animation:wb-pereliv 4s linear infinite}
  @keyframes wb-pereliv{to{transform:rotate(360deg)}}
  @keyframes wb-krugi{0%{transform:scale(1);opacity:.8}70%,100%{transform:scale(1.25);opacity:0}}
  @keyframes wb-svechenie{0%,100%{box-shadow:0 0 0 1px rgba(0,0,0,.08),0 6px 18px rgba(0,0,0,.28)}50%{box-shadow:0 0 0 1px rgba(0,0,0,.08),0 6px 18px rgba(0,0,0,.28),0 0 12px 2px var(--wb-glow,#7A634099)}}
  @keyframes wb-blik{0%,55%{left:-60%}85%,100%{left:120%}}
  @keyframes wb-pryzhok{0%,88%,100%{transform:translateY(0)}92%{transform:translateY(-10px)}96%{transform:translateY(0)}98%{transform:translateY(-4px)}}
}
/* Опрос «Удобно ли?» и вопрос разработчику — в правом нижнем углу кабинета, поверх страницы, но не закрывая её.
   Опрос всплывает сам (не чаще раза в 60 дней), в остальное время — кнопка «Есть вопрос?». */
.feedback-pop{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:30;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-brand-line);border-top:4px solid var(--color-brand);border-radius:var(--radius-md);box-shadow:0 10px 32px rgba(41,40,36,.22)}
.feedback-close{position:absolute;top:var(--space-1);right:var(--space-1);min-width:44px;padding:0}
.feedback-question{font-size:var(--text-h3);margin:0 var(--space-8) var(--space-3) 0}
.feedback-pop .feedback-comment{display:none;margin-top:var(--space-4)}
.feedback-pop:has(input[name=rating][value=bad]:checked) .feedback-comment,.feedback-pop .feedback-comment:has(.field-error){display:block}
.feedback-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}
.feedback-tab{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:30}
.feedback-tab summary{list-style:none;display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--color-brand-hover);color:var(--color-on-brand);font-weight:600;font-size:var(--text-ui);cursor:pointer;box-shadow:0 6px 18px rgba(41,40,36,.22)}
.feedback-tab summary::-webkit-details-marker{display:none}
.feedback-tab summary:hover{background:var(--color-brand-hover)}
.feedback-tab .feedback-tab-panel{right:0;bottom:calc(100% + var(--space-2));position:absolute}
@media(prefers-reduced-motion:no-preference){.feedback-pop{animation:feedback-in .25s ease-out}@keyframes feedback-in{from{transform:translateY(12px);opacity:0}}.feedback-tab summary{transition:background-color .15s}}

/* ===== Раздел «Документы» кабинета: строки с плашками, раскрывающиеся шаблоны и инструкции ===== */
.docs .list-clean{padding-left:0}.docs .list-clean li{margin:0}
.docs .doc-row{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);align-items:baseline;justify-content:space-between}
.docs .doc-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.docs .doc-tags .status{margin-right:0}
.docs h3{font-family:var(--font-serif);font-size:var(--text-h3);line-height:1.3;margin:var(--space-6) 0 var(--space-2)}
.docs h4{font-size:17px;line-height:1.35;margin:var(--space-4) 0 var(--space-2)}
.docs .alert .status{margin-right:var(--space-2)}
.docs blockquote{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-brand);background:var(--color-surface-warm)}.docs blockquote p{margin:0 0 var(--space-2)}.docs blockquote p:last-child{margin:0}
.member-email{display:inline-block;vertical-align:middle;margin-right:var(--space-2);text-align:left}
.member-email summary{cursor:pointer;color:var(--color-brand);text-decoration:underline;text-underline-offset:3px}
.member-email form{display:grid;gap:var(--space-2);margin-top:var(--space-2);width:min(300px,80vw);white-space:normal}
.doc-details{border-top:1px solid var(--color-border)}.doc-details:last-child{border-bottom:1px solid var(--color-border)}
.doc-details summary{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-3) 0;cursor:pointer;list-style:none;font-family:var(--font-serif);font-weight:700;font-size:18px;line-height:1.3;color:var(--color-ink)}
.doc-details summary::-webkit-details-marker{display:none}
.doc-details summary::before{content:"+";flex:none;width:1.2em;text-align:center;color:var(--color-brand);font-family:var(--font-sans)}
.doc-details[open] summary::before{content:"\2212"}
.doc-details summary:hover{color:var(--color-brand)}
.doc-body{padding:0 0 var(--space-4)}
@media(prefers-reduced-motion:no-preference){.doc-details summary{transition:color .15s}}
@media(max-width:720px){.docs th,.docs td{padding:var(--space-2)}}
/* «Выйти» последним пунктом меню кабинета и админки — как пункт меню, приглушённый */
.nav-logout{margin:0}.nav-logout button{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);font:inherit;font-size:var(--text-ui);line-height:1.2;text-align:left;cursor:pointer;transition:color .15s ease,border-color .15s ease}
.nav-logout button:hover{color:var(--color-ink);border-color:var(--color-border-strong)}.nav-logout button:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}
@media print{.nav-logout{display:none}}
/* Ссылки организации в подвале её страницы — столбиком, над строкой с реквизитами */
.org-links{margin-bottom:var(--space-8)}
.org-links-title{font-weight:600;color:inherit;margin-bottom:var(--space-2)}
.org-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}
.org-links a{display:inline-flex;align-items:center;gap:6px;min-height:36px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
/* Ссылки в «Настройках»: адрес и название рядом, на телефоне — друг под другом */
.link-row{display:grid;grid-template-columns:3fr 2fr;gap:var(--space-2)}@media(max-width:720px){.link-row{grid-template-columns:1fr}}
/* Кружки и галочки в оформлении — один вид: обычный шрифт 14px, знак 20px по первой строке, ровные промежутки (подписи внутри .field не жирные) */
.agree,.field label.agree{display:flex;gap:10px;align-items:flex-start;padding:5px 0;margin:0;font-size:14px;line-height:20px;font-weight:400}
.agree input[type=checkbox],.agree input[type=radio],label.agree input[type=radio]{width:20px!important;height:20px!important;margin:0!important;align-self:flex-start!important;flex:none}
.agree:has(> input[type=radio]),label.agree:has(input[type=radio]){align-items:flex-start!important}
.agree-group{display:grid;gap:2px}
/* «Вход для чтеца» в шапке страницы организации — выделен бронзовой рамкой и мягким фоном; на узком экране — только значок */
.header-reader{display:inline-flex;align-items:center;gap:6px;background:var(--color-brand-soft);color:var(--color-brand-ink);border:1px solid var(--color-brand-line);font-weight:600}
.button.header-reader:hover,.button.header-reader:focus-visible{background:var(--color-surface-warm);color:var(--color-brand-ink);border-color:var(--color-brand)}
.header-reader-short{display:none}
@media(max-width:420px){.header-reader-text{display:none}.header-reader-short{display:inline}.header-reader{padding-inline:10px}}
/* Помянник и чтение (18.10.2026): заголовки треб — мельче и бледнее; «прочитано» — чистый светло-зелёный, не жирный; прочитанные имена — без подложки и вдвое бледнее */
:root{--color-read-green:#2E9E4F}
.pomyannik-sheet h2{font-size:15px;font-weight:600;color:var(--color-muted);margin-bottom:0}
.pomyannik-read{display:inline-flex;align-items:center;gap:4px;color:var(--color-read-green);font-weight:400}
.pomyannik-names.is-read{color:#B3AEA3}
.reading-group h2{font-size:calc(12px * var(--reading-scale));font-weight:500;opacity:1;color:var(--color-muted);margin:var(--space-3) 0 0}
.reading-note-mark{font-size:calc(12px * var(--reading-scale));font-weight:400;color:var(--color-read-green)}
.reading-note.is-read{background:none}
.reading-note.is-read .reading-names{color:#B3AEA3}
.reading.dark .reading-note.is-read{background:none}
.reading.dark .reading-note.is-read .reading-names{color:#6F6A5F}
.reading.dark .reading-group h2{color:#A39D8E}
.reading.dark .reading-note-mark{color:#7FD08F}
@media print{.pomyannik-names.is-read{color:#000}.pomyannik-read{color:#000}}
.reading-mark-done,.reading-key-read{color:var(--color-read-green);font-weight:400}
.reading.dark .reading-mark-done,.reading.dark .reading-key-read{color:#7FD08F}
/* Чтение как помянник (18.10.2026): направление — маленькой бледной подписью, треба — полным названием 15px; в помяннике прочитанные имена чуть насыщеннее */
.reading-group h1{font-size:calc(13px * var(--reading-scale));font-weight:400;color:var(--color-muted);border-bottom:0;padding-bottom:0;margin:var(--space-6) 0 0}
.reading-group h2{font-size:calc(15px * var(--reading-scale));font-weight:600;color:var(--color-muted);margin:2px 0 0}
.reading.dark .reading-group h1{color:#A39D8E}
.pomyannik-names.is-read{color:#8F8A80}
/* Без линеек между разделами и записками в «Чтении» (18.10.2026) */
.reading-note:not(.is-read)+.reading-note:not(.is-read),.reading.dark .reading-note:not(.is-read)+.reading-note:not(.is-read){border-top:0;padding-top:var(--space-2)}
/* «Отметить прочитанным» — спокойная, как «Вход для чтеца»: светлый бронзовый фон, рамка, тёмный текст (сплошная бронза перетягивала внимание с имён). «Да, прочитано» после вопроса остаётся сплошной */
.reading-mark button.reading-mark-open{background:var(--color-brand-soft);color:var(--color-brand-ink);border:1px solid var(--color-brand-line);font-weight:600}
.reading-mark button.reading-mark-open:hover,.reading-mark button.reading-mark-open:focus-visible{background:var(--color-surface-warm);color:var(--color-brand-ink);border-color:var(--color-brand)}
.reading.dark .reading-mark button.reading-mark-open{background:transparent;color:#D9B877;border-color:#5A5446}
.reading.dark .reading-mark button.reading-mark-open:hover{background:#1F1D19;color:#D9B877;border-color:#D9B877}
/* Верхний переключатель «Чтение | Помянник» отличается от плашек направлений (18.10.2026): выбранное — светлая бронза с тёмным текстом, как «Вход для чтеца»; направления остаются сплошной бронзой */
.view-switch{border-color:var(--color-brand-line)}
.view-switch a.active{background:var(--color-brand-soft);color:var(--color-brand-ink);box-shadow:inset 0 -2px 0 var(--color-brand)}
.view-switch a+a{border-left-color:var(--color-brand-line)}
.reading.dark .view-switch a.active{background:#2A261F;color:#D9B877;box-shadow:inset 0 -2px 0 #D9B877}
/* «Непрочитанные · 3» не переносится на две строки */
.reading-day a{white-space:nowrap}
@media(max-width:720px){.reading-day a{flex:1 1 auto;padding-left:6px;padding-right:6px}}
/* Чтение и помянник (18.10.2026): «Другой день» вместо постоянного выбора даты; меню «Помощь / Выйти» у А− А+; короткая плашка про прошлые дни */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.day-other{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.day-other>summary{list-style:none;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;padding:var(--space-1) 6px;border-bottom:2px solid transparent;white-space:nowrap;color:var(--color-muted)}
.day-other>summary::-webkit-details-marker{display:none}
.day-other>summary.active{border-bottom-color:var(--color-brand);font-weight:600;color:inherit}
.day-other[open]>summary{color:inherit}
.day-other-pick{display:inline-flex;align-items:center;gap:var(--space-2)}
.day-other-pick input{min-height:40px}
.reading-tools{position:relative}
.reading-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.reading-menu>summary::-webkit-details-marker{display:none}
.reading-menu[open]>summary{border-color:var(--color-brand-line);background:var(--color-brand-soft)}
.reading-menu-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:160px;display:flex;flex-direction:column;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.reading-menu-panel a,.reading-menu-panel .reading-logout button{display:flex;align-items:center;min-height:44px;padding:0 var(--space-3);color:var(--color-ink);text-decoration:none!important;font-size:var(--text-ui)}
.reading-menu-panel .reading-logout{margin:0}
.reading.dark .reading-menu>summary{background:transparent;border-color:#5A5446;color:#EDE6D6}
.reading.dark .reading-menu-panel{background:#1F1D19;border-color:#5A5446}
.reading.dark .reading-menu-panel a,.reading.dark .reading-menu-panel .reading-logout button{color:#EDE6D6}
.reading-past{padding-top:var(--space-2);padding-bottom:var(--space-2)}
.reading-past a{min-height:36px}
@media print{.reading-menu{display:none}}
/* Чтение: ясная иерархия без линеек (18.10.2026) — направление заметным заголовком, треба бледнее, дата мельче; разделы разнесены воздухом */
.reading-group{margin-top:var(--space-8)}
.reading-group:first-of-type{margin-top:var(--space-4)}
.reading-group h1{font-size:calc(19px * var(--reading-scale));font-weight:700;color:var(--color-brand-ink);margin:0 0 var(--space-1)}
.reading.dark .reading-group h1{color:#D9B877}
.reading-group h2{font-size:calc(14px * var(--reading-scale));font-weight:600;color:var(--color-muted);margin:var(--space-5) 0 0}
.reading-group h1+h2{margin-top:var(--space-2)}
.reading-note-date{font-size:calc(12px * var(--reading-scale));margin:var(--space-1) 0 0}
.reading-note{padding-left:0;padding-right:0}
.reading-mark-wrap,.reading-mark{margin-top:var(--space-5)}
/* Виды листа (18.10.2026): «Идут сейчас» и «Месяц». Формы «Другой день» и «Месяц» не ломают ряд вкладок; выбор требы — одной строкой */
.reading-day .day-form{display:contents}
.reading-day input[type=month]{min-height:44px;font-size:16px;padding:0 var(--space-2);background:transparent;color:inherit;border:1px solid var(--color-border)}
.reading.dark .reading-day input[type=month]{border-color:#3A362C}
.treba-filter{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-ui)}
.treba-filter select{flex:1 1 220px;min-width:0;max-width:100%;min-height:44px;font-size:16px;padding:0 var(--space-2);background:transparent;color:inherit;border:1px solid var(--color-border)}
.treba-filter button{min-height:44px;padding:0 var(--space-3);background:transparent;color:inherit;border:1px solid var(--color-border)}
.app-main .treba-filter{padding-left:0;padding-right:0}
.reading.dark .treba-filter select,.reading.dark .treba-filter button{border-color:#3A362C}
@media(min-width:800px){.reading .treba-filter{padding-left:calc((100% - 760px) / 2 + var(--space-4));padding-right:calc((100% - 760px) / 2 + var(--space-4))}}
@media(max-width:720px){.reading-day .day-other{flex:1 1 auto}.reading-day .day-other[open]{flex:1 1 100%}.reading-day .day-other-pick{flex:1 1 100%}.reading-day .day-other-pick input{flex:1 1 60%}}
/* Каталог монастырей (/monastyri): линованный указатель обителей; у каждой две требы строками «название … сумма». */
.dir-intro{max-width:760px}
.dir-search{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);margin-top:var(--space-6);max-width:620px}
.dir-search .field{flex:1 1 280px;margin:0}
.dir-search .button{flex:none}
.dir-reset{align-self:center;min-height:44px;display:inline-flex;align-items:center;font-size:var(--text-ui);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.dir-count{margin:var(--space-8) 0 var(--space-3)}
.dir-list{list-style:none;margin:0;padding:0}
.dir-item{display:grid;grid-template-columns:168px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:var(--space-6);padding:var(--space-6);border-bottom:1px solid var(--color-border)}
.dir-item:last-child{border-bottom:0}
.dir-photo{grid-row:1/span 3;align-self:start;display:grid;place-items:center;aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;background:var(--color-brand-soft)}
.dir-photo img{display:block;width:100%;height:100%;object-fit:cover}
.dir-mark{font-family:var(--font-serif);font-weight:700;font-size:28px;color:var(--color-brand-ink)}
.dir-head,.dir-treby{grid-column:2}
.dir-head{min-width:0}
.dir-name{font-family:var(--font-serif);font-size:21px;font-weight:700;line-height:1.25;margin:0;overflow-wrap:anywhere}
.dir-full{margin-top:2px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dir-address{margin-top:var(--space-1);overflow-wrap:anywhere}
.dir-treby{list-style:none;margin:var(--space-4) 0 0;padding:0;max-width:560px;min-width:0}
.dir-treby li{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-1) 0}
.dir-treby li::before{content:'';order:2;flex:1 1 var(--space-6);min-width:var(--space-4);border-bottom:1px dotted var(--color-border-strong);transform:translateY(-.3em)}
.dir-treba{order:1;flex:0 1 auto;min-width:0;color:var(--color-ink);font-size:var(--text-ui);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dir-treba:hover{color:var(--color-brand-hover)}
.dir-treby li a.dir-treba,.dir-list li a.dir-photo{text-decoration:none}
.dir-price{order:3;flex:none;max-width:45%;text-align:left;color:var(--color-brand-ink);font-weight:600;font-size:var(--text-ui)}
.dir-price .tiny{display:inline;margin-left:var(--space-1);font-weight:400}
.dir-more{grid-column:2;justify-self:start;display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;margin-top:var(--space-2);font-weight:600;font-size:var(--text-ui)}
.dir-pager{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-6)}
.dir-pager .button{width:auto;margin-top:0}
@media(max-width:720px){
  .dir-item{grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto;column-gap:var(--space-4);padding:var(--space-4)}
  .dir-photo{grid-row:1;aspect-ratio:1}
  .dir-mark{font-size:20px}
  .dir-name{font-size:18px}
  .dir-treby,.dir-more{grid-column:1/-1}
  .dir-treby{margin-top:var(--space-3)}
  .dir-search .button{width:auto;margin-top:0}
}
/* Ссылки организации в админке: сначала название, потом адрес (как просил владелец). */
.platform-link-row{grid-template-columns:2fr 3fr}
@media(max-width:720px){.platform-link-row{grid-template-columns:1fr}}
/* Каталог монастырей на компьютере — в две колонки (просьба владельца 18.10.2026): та же линованная таблица, разделители между колонками и строками. */
@media(min-width:900px){
  .dir-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .dir-item{grid-template-columns:120px minmax(0,1fr);column-gap:var(--space-4);padding:var(--space-5) var(--space-6);margin-bottom:-1px;border-bottom:1px solid var(--color-border)}
  .dir-item:last-child{border-bottom:1px solid var(--color-border)}
  .dir-item:nth-child(odd){border-right:1px solid var(--color-border)}
  .dir-mark{font-size:24px}
  .dir-name{font-size:19px}
}
/* Шапка страницы монастыря на телефоне (18.10.2026: длинное название храма слипалось в 5 строк и вылезало, «Корзина» обрезалась;
   21.10.2026: то же на 481–720px — правило расширено до 720px):
   два ряда — сверху знак и название (до 3 строк), снизу кнопки на всю ширину. Шапка растёт по содержимому. */
@media(max-width:720px){
  .public-header:has(.org-pill){height:auto;min-height:64px}
  .public-header .inner:has(.org-pill){flex-wrap:wrap;row-gap:var(--space-2);padding-top:var(--space-2);padding-bottom:var(--space-2)}
  .org-pill{flex:1 1 100%;min-width:0}
  .org-pill .org-mark{flex:none}
  .org-pill strong{min-width:0;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .org-pill~.header-actions{width:100%}
  .org-pill~.header-actions>.button{flex:1 1 auto}
}
/* Образец превью ссылки (кабинет «Настройки», админка «Реквизиты»): как карточка под ссылкой в мессенджере. */
.share-card{width:360px;max-width:100%;margin:var(--space-4) 0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}
.share-card-image{display:block;width:100%;aspect-ratio:1200/630;object-fit:cover;background:var(--color-brand-soft)}
.share-card-empty{display:grid;place-items:center;color:var(--color-muted);font-size:var(--text-small)}
.share-card-text{display:grid;gap:2px;padding:var(--space-3);border-left:3px solid var(--color-brand-line)}
.share-card-host{font-size:var(--text-tiny);color:var(--color-muted)}
.share-card-title{font-size:var(--text-ui);line-height:1.3;overflow-wrap:anywhere}
.share-card-desc{font-size:var(--text-small);color:var(--color-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Пояснение под «Чтение | Помянник»: для чего каждый вид (вопрос владельца 18.10.2026). */
.view-switch-hint{margin:var(--space-2) 0 0;font-size:var(--text-small);color:var(--color-muted);max-width:60ch}
.reading.dark .view-switch-hint{color:#B9B2A3}
/* Печать помянника (18.10.2026, владелец): мельче — для листа и файла PDF. Остальное, в том числе «прочитано», — как было. */
@media print{
  body{font-size:11pt}
  .pomyannik-names{font-size:13pt;line-height:1.5}
  .pomyannik-sheet h2{font-size:13pt}
  .pomyannik-date{font-size:12pt}
  .pomyannik-sheet{padding-bottom:10pt;margin-bottom:10pt}
}
/* Вкладки направлений без перезагрузки (app.js): скрытое скриптом не перебивается правилами display. */
.catalog-row[hidden],.section-top[hidden],.catalog-list[hidden],.section-index[hidden],.section-index-cell[hidden],.section-chips[hidden],.chip[hidden]{display:none!important}
/* Меню основного сайта в шапке: «Монастыри и храмы», «Контакты». На телефоне и узком планшете (до 799px) — вторым рядом под логотипом: иначе «Мой кабинет» вылезал за край на 640px. */
.site-nav{display:flex;gap:var(--space-6);margin-left:auto;margin-right:var(--space-4)}
.site-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-ink);font-size:var(--text-ui);font-weight:500;text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}
.site-nav a:hover{color:var(--color-brand-hover)}
.site-nav a[aria-current=page]{border-bottom-color:var(--color-brand);color:var(--color-brand-ink);font-weight:600}
@media(max-width:799px){
  .public-header:has(.site-nav){height:auto;min-height:64px}
  .public-header .inner:has(.site-nav){flex-wrap:wrap;row-gap:var(--space-2);padding-top:var(--space-2);padding-bottom:0}
  .site-nav{order:3;flex:1 1 100%;margin:0;gap:var(--space-5)}
  .site-nav a{min-height:40px;font-size:var(--text-small)}
}
@media print{.site-nav{display:none}}
/* Логотип храма (кабинет «Настройки»): в кружке вместо букв — шапка страницы, каталог, образец в настройках. */
.org-mark{overflow:hidden}
.org-mark img{display:block;width:100%;height:100%;object-fit:cover}
.org-mark-lg{width:56px;height:56px;font-size:var(--text-lead)}
.dir-photo .dir-logo{width:56%;height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;background:#fff}
/* Быстрые суммы добровольного пожертвования (требы): под полем суммы; выбранная — закрашена. */
.quick-amounts{margin-top:var(--space-2)}
.quick-amounts .chip{min-height:44px;padding:var(--space-2) var(--space-4);font:inherit;font-size:var(--text-ui);font-weight:600;cursor:pointer}
.quick-amounts .chip[aria-pressed=true]{background:var(--color-brand-hover);border-color:var(--color-brand-hover);color:var(--color-on-brand)}
.quick-amounts[hidden]{display:none!important}
/* Страницы монастыря и окно виджета на телефоне (19.10.2026, владелец: «мелковато»): мелкие подписи крупнее —
   описания, разделы, шапка, подвал — 16px; «за имя», «5 треб», пояснения — 15px. Кабинет и основной сайт не меняются. */
@media(max-width:720px){
  .org-page,.widget-page{--text-small:16px;--text-tiny:15px}
}
/* Перечень треб и сборов на странице монастыря (19.10.2026: владелец — «не работает наведение»): вся строка нажимается
   (ссылка названия растянута на строку), при наведении — тёплый фон и рамка у кнопки. Кнопка остаётся отдельной ссылкой поверх. */
.catalog-list .catalog-row{position:relative;transition:background-color .15s ease}
.catalog-list .catalog-row .catalog-link::after{content:'';position:absolute;inset:0}
.catalog-list .catalog-row .catalog-action{position:relative;z-index:1}
@media(hover:hover){
  .catalog-list .catalog-row:hover{background:var(--color-surface-warm)}
  .catalog-list .catalog-row:hover .catalog-link{color:var(--color-brand-hover)}
  .catalog-list .catalog-row:hover .catalog-action .button.secondary{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-ink)}
}
.catalog-list .catalog-row:has(.catalog-link:focus-visible){background:var(--color-surface-warm)}
@media(prefers-reduced-motion:reduce){.catalog-list .catalog-row{transition:none}}
/* На телефоне наведения нет: при касании строка требы коротко подсвечивается (то же, что наведение на компьютере). */
.catalog-list .catalog-row{-webkit-tap-highlight-color:transparent}
.catalog-list .catalog-row:active{background:var(--color-brand-soft)}
.catalog-list .catalog-row:active .catalog-action .button.secondary{border-color:var(--color-brand);background:var(--color-surface);color:var(--color-brand-ink)}
/* Подвал на всех страницах — мельче основного текста (19.10.2026, владелец), но читаемо: 22.10.2026 владелец попросил
   немного крупнее — 15px, реквизиты — 14px (было 13 и 12). */
.footer{font-size:15px;line-height:1.6}
.footer .tiny{font-size:14px}
/* Таблицы в «Помощи» и «Документах» на телефоне (19.10.2026): узкие колонки рвали слова по буквам («Адм/ини/стр…»).
   Каждая строка — карточка: первая ячейка — заголовок жирным, остальные — подпись колонки мелко сверху и текст на всю ширину. */
@media(max-width:720px){
  .help table{border-collapse:separate}
  .help thead{display:none}
  .help table,.help tbody,.help tr,.help td{display:block;width:100%}
  .help tr{padding:var(--space-3) 0;border-top:1px solid var(--color-border)}
  .help tr:first-child{border-top:1px solid var(--color-border-strong)}
  .help td{padding:2px 0;border:0;overflow-wrap:break-word}
  .help td:first-child{font-weight:600}
  .help td:not(:first-child)[data-label]::before{content:attr(data-label);display:block;margin-top:var(--space-1);color:var(--color-muted);font-size:var(--text-small)}
}
/* Шаблоны документов в кабинете: подставленное из профиля — тёплой подложкой, что заполнить самим — жёлтой (19.10.2026). */
mark.doc-filled{background:var(--color-brand-soft);color:var(--color-brand-ink);padding:0 2px;border-radius:3px}
mark.doc-blank{background:#FFF1C2;color:var(--color-ink);padding:0 2px;border-radius:3px}
/* Шапка кабинета (19.10.2026): подписи на тон темнее (были бледными: контраст 4,1 при норме 4,5);
   блок профиля — имя, роль, «Сменить пароль» и «Выйти» столбиком, обе ссылки одного вида. */
.org-context,.org-context a{color:var(--color-brand-hover)}
.logo-accent{color:var(--color-brand-hover)}
.profile-mini{align-items:flex-start}
.profile-text{display:flex;flex-direction:column;line-height:1.35}
.profile-name{font-weight:600;color:var(--color-ink)}
.profile-actions{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:var(--space-1)}
.profile-actions a,.profile-actions .profile-logout{font:inherit;font-size:var(--text-small);color:var(--color-brand-hover);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .15s ease}
.profile-actions .profile-logout{min-height:0;padding:0;border:0;background:none;cursor:pointer;font-weight:400}
.profile-actions a:hover,.profile-actions .profile-logout:hover,.profile-actions a:focus-visible,.profile-actions .profile-logout:focus-visible{background:none;color:var(--color-brand-ink);text-decoration-color:currentColor}
/* Шаблоны документов: правка своего текста и «Вернуть исходный текст» (19.10.2026). */
.doc-edit{margin-top:var(--space-4);border-top:1px solid var(--color-border);padding-top:var(--space-3)}
.doc-edit>summary{cursor:pointer;color:var(--color-brand-hover);font-weight:600;min-height:44px;display:flex;align-items:center}
.doc-textarea{width:100%;min-height:320px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:16px;line-height:1.5;resize:vertical}
.doc-textarea:focus{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}
.doc-edit form{display:grid;gap:var(--space-2);margin-top:var(--space-2)}
.doc-edit form button{justify-self:start}
.doc-reset{margin-top:var(--space-3)}
.doc-details .doc-edit>summary{font-family:var(--font-sans);font-size:var(--text-ui);font-weight:600;padding:var(--space-2) 0;color:var(--color-brand-hover)}
.doc-details .doc-edit:not([open])>summary::before{content:"+"}
.doc-details .doc-edit[open]>summary::before{content:"\2212"}
.app-top .profile-mini{flex:none}
.profile-name{white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
/* «Выйти» в шапке — кнопкой (19.10.2026, владелец): белая, с рамкой и значком, при наведении — тёплый фон и рамка темнее. */
.profile-actions .profile-logout{display:inline-flex;align-items:center;gap:6px;margin-top:var(--space-1);min-height:36px;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}
.profile-actions .profile-logout:hover,.profile-actions .profile-logout:focus-visible{background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand-ink);text-decoration:none}
@media(prefers-reduced-motion:reduce){.profile-actions .profile-logout{transition:none}}
/* Главная: благословение (19.10.2026). Бледная плашка, как первый экран главной: тёплый фон, тонкая рамка, скругление.
   Внутри — сетка как у «Частых вопросов» (.7fr | 1.3fr): фото слева, текст справа; на узком экране — столбиком.
   Текст обычным начертанием: у PT Serif в проекте есть только жирное. */
.home-blessing{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--space-12);align-items:center;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-warm)}
.home-blessing-photo{grid-column:1;margin:0}
.home-blessing-photo img{display:block;width:100%;height:auto;border-radius:var(--radius-md)}
.home-blessing-photo figcaption{margin-top:var(--space-2);font-size:var(--text-small);color:var(--color-muted)}
.home-blessing-text{grid-column:2;max-width:62ch}
.home-blessing p{margin:0;font-size:var(--text-lead);font-weight:400;line-height:1.6;color:var(--color-ink)}
.home-blessing .home-blessing-sign{margin-top:var(--space-3);font-size:var(--text-small);color:var(--color-muted)}
/* «Кому доступен сервис» — та же бледная плашка, что у благословения и «Контактов» (23.10.2026);
   цвета из переменных палитры, поэтому плашка работает во всех темах. */
.home-audience{padding:var(--space-6) var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-warm)}
.home-audience p{margin-bottom:0}
@media(max-width:950px){.home-blessing{grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-6) var(--space-4)}.home-blessing-text,.home-blessing-photo{grid-column:auto}}
/* Единая сетка главной (19.10.2026, владелец: «по сетке»): все двухколоночные блоки — 5 : 7 с промежутком 48px,
   правые колонки начинаются на одной вертикали. На узком экране (до 950px) — по-прежнему столбиком (правило выше). */
@media(min-width:951px){
  .home-reading,.home-tools,.home-price,.home-connect,.home-faq,.home-blessing{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-12)}
}
/* Контакты — по сетке главной, без линий: каждый раздел — бледная плашка, как благословение на главной (общая область + близость); название слева, содержание справа (5 : 7); на узком экране — столбиком. */
.contacts-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-3) var(--space-12);align-items:start;margin-top:var(--space-6);padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-warm)}
.contacts-row:first-of-type{margin-top:var(--space-8)}
.contacts-row .kv dd{color:var(--color-ink)}
.contacts-row .home-h2{margin:0}
.contacts-row p:last-child,.contacts-row ul{margin-bottom:0}
@media(max-width:950px){.contacts-row{grid-template-columns:1fr;padding:var(--space-6) var(--space-4)}}
/* Админка: свёрнутые разделы карточки организации (ссылки, длинный журнал) — строка с «+», без линий (19.10.2026). */
.admin-fold>summary{display:flex;align-items:center;gap:var(--space-2);min-height:44px;cursor:pointer;list-style:none;font-weight:600;color:var(--color-ink)}
.admin-fold>summary::-webkit-details-marker{display:none}
.admin-fold>summary::before{content:"+";flex:none;width:1.2em;text-align:center;color:var(--color-brand)}
.admin-fold[open]>summary::before{content:"\2212"}
.admin-fold>summary:hover{color:var(--color-brand-hover)}
.admin-fold[open]>summary{margin-bottom:var(--space-2)}
/* Документы (правила, согласие, политика монастыря; документы сервиса) — по сетке главной (20.10.2026), без карточки:
   слева заголовок (на компьютере остаётся на виду при прокрутке), справа текст — колонка 7/12 удобна для чтения. На узком экране — столбиком. */
@media(min-width:951px){
  .doc-page{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--space-12);row-gap:0;align-items:start}
  .doc-page>*{grid-column:2;min-width:0}
  .doc-page>h1{grid-column:1;grid-row:1 / span 80;align-self:start;position:sticky;top:var(--space-6)}
}
/* Согласие (storefront/consent.blade.php) — та же раскладка документа, но через стили: файл согласия архивируется по версии
   (docs/legal/soglasie-versii), и правка разметки потребовала бы новую версию согласия. Обёртка там — div.surface.pad.narrow с h1. */
.org-page .main>.shell>div.surface.pad.narrow:has(>h1){max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
@media(min-width:951px){
  .org-page .main>.shell>div.surface.pad.narrow:has(>h1){display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--space-12);row-gap:0;align-items:start}
  .org-page .main>.shell>div.surface.pad.narrow:has(>h1)>*{grid-column:2;min-width:0}
  .org-page .main>.shell>div.surface.pad.narrow:has(>h1)>h1{grid-column:1;grid-row:1 / span 80;align-self:start;position:sticky;top:var(--space-6)}
}

/* Заметная, но не главная кнопка: мягкий фон бренда (важные шаги рядом с серыми, 21.10.2026) */
.button.accent,button.accent{background:var(--color-brand-soft);color:var(--color-brand-ink);border-color:var(--color-brand-line)}
.button.accent:hover,button.accent:hover,.button.accent:focus-visible,button.accent:focus-visible{background:var(--color-surface-warm);color:var(--color-brand-ink);border-color:var(--color-brand)}

/* Вкладки карточки организации в админке (21.10.2026): без скрипта разделы идут подряд с промежутком */
.admin-tabs{margin:0 0 var(--space-6)}
.admin-tabs .chip{min-height:44px;padding:var(--space-2) var(--space-4);font-weight:600;text-decoration:none}
.admin-tabs .chip:not(.active):hover{border-color:var(--color-brand)}
.admin-tab+.admin-tab{margin-top:var(--space-12)}
.admin-tab[hidden]{display:none}

/* «Помянник» плотнее (владелец, 21.10.2026): меньше высоты у панели и листов, имена мельче и в три колонки на широком экране.
   Только экран — печать задаётся отдельно (@media print). Линия под выбором дня убрана — группировка расстоянием. */
@media screen{
  .pomyannik-toolbar{gap:var(--space-2);margin:var(--space-2) 0}
  .pomyannik-toolbar .view-switch-hint{margin-top:0}
  .reading-tabs.pomyannik-tabs{gap:var(--space-1)}
  .reading-tabs.pomyannik-tabs a{min-height:44px;min-width:0;padding:var(--space-1) var(--space-4)}
  .app-main .pomyannik-day{border-bottom:0;padding-bottom:0;margin-bottom:var(--space-2)}
  .app-main .pomyannik-date{margin:var(--space-3) 0 var(--space-2)}
  .pomyannik-sheet{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}
  .pomyannik-order{margin-top:var(--space-2)}
  .pomyannik-names{margin-top:var(--space-1);font-size:19px;line-height:1.45;column-gap:var(--space-8)}
}
@media screen and (min-width:1200px){.pomyannik-names{columns:3}}
@media screen and (max-width:720px){.pomyannik-sheet{padding:var(--space-3)}.pomyannik-names{font-size:18px}}

/* Под формой записки: «Когда помянем», «За кого можно подать» — бледная плашка, без линий (21.10.2026). */
.pominovenie-note{margin-top:var(--space-6);padding:var(--space-3) var(--space-4);background:var(--color-surface-warm);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);font-size:var(--text-small);line-height:1.5}
.pominovenie-note p{margin:0}
.pominovenie-note p+p{margin-top:var(--space-3)}
.pominovenie-note strong{color:var(--color-ink)}

/* Меню кабинета группами (21.10.2026, владелец): подпись группы — мелко, группы разделены расстоянием;
   «Чтение на службе» и «Помянник» — сверху, залитые бронзой. */
.nav-group{grid-column:1/-1;margin:var(--space-4) 0 2px;padding:0 var(--space-3);font-size:var(--text-tiny);color:var(--color-muted);letter-spacing:.04em}
.nav-group:first-child{margin-top:0}
.nav a.nav-key{background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-brand-ink);font-weight:600}
.nav a.nav-key .nav-icon{opacity:1}
.nav a.nav-key:hover{background:var(--color-surface-warm);border-color:var(--color-brand-line);color:var(--color-brand-ink)}
.nav a.nav-key.active{background:var(--color-brand-soft);border-color:var(--color-brand-line);color:var(--color-brand-ink);box-shadow:inset 3px 0 0 var(--color-brand)}
@media(max-width:720px){
  .nav-group{padding:0 2px}
  .sidebar .nav a.nav-key{min-height:56px;background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-brand-ink);font-weight:600}
  .sidebar .nav a.nav-key.active{background:var(--color-brand-soft);border-color:var(--color-brand-line);color:var(--color-brand-ink);box-shadow:inset 3px 0 0 var(--color-brand)}
}
/* Подвал организации (21.10.2026): колонки «храм» и «сервис», внутри — группы строк, разделённые расстоянием, без линий.
   Телефон — ссылка «позвонить», номер не разрывается. */
.footer-cols{display:flex;justify-content:space-between;gap:var(--space-8) var(--space-12);flex-wrap:wrap}
.footer-org{display:grid;gap:var(--space-4);flex:0 1 640px;min-width:0}
.footer-group p{margin:0}
.footer-org-name{font-weight:600;color:var(--color-footer-text)}
.footer .phone-link{white-space:nowrap;font-weight:600}
.phone-link{white-space:nowrap}
/* Шапка монастыря на компьютере (21.10.2026): растёт по высоте длинного названия, а не обрезает его; кнопки не сжимаются. */
@media(min-width:721px){
  .public-header:has(.org-pill){height:auto;min-height:76px}
  .public-header .inner:has(.org-pill){padding-top:var(--space-2);padding-bottom:var(--space-2)}
  .org-pill strong{line-height:1.25}
  .org-pill~.header-actions{flex:none}
}

/* Данные для входа после добавления сотрудника или нового пароля: бледная плашка, текст можно выделить и скопировать. */
.access-card{margin:0 0 var(--space-6);padding:var(--space-4);background:var(--color-surface-warm);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.access-card p{margin-bottom:var(--space-2)}
.access-card pre{margin:0 0 var(--space-3);font:inherit;font-size:var(--text-ui);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;user-select:all}

/* Опрос посетителей (22.10.2026, владелец: «в правом нижнем углу и выделить цветом»): свёрнутая кнопка «Один вопрос»
   пастельного абрикосового цвета (палитра №4709), раскрывается в карточку. На телефоне — над полосой корзины. */
.survey-float{position:fixed;right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:30;max-width:calc(100vw - 2 * var(--space-4));display:flex;flex-direction:column;align-items:flex-end}
.survey-float-button{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:#FCD19D;border:1px solid #E2A15F;color:#3D2A12;font-weight:650;font-size:var(--text-ui);cursor:pointer;list-style:none;box-shadow:0 4px 16px rgba(61,42,18,.18);transition:background .15s,border-color .15s}
.survey-float-button::-webkit-details-marker{display:none}
.survey-float-button:hover{background:#FBC47F;border-color:#D98A3D}
.survey-float-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
.survey-float[open] .survey-float-button{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}
.survey-float-panel{width:340px;max-width:100%;max-height:calc(100vh - 140px);overflow:auto;margin-top:var(--space-2);padding:var(--space-4);background:#FFF8EE;border:1px solid #E2A15F;border-radius:var(--radius-md);box-shadow:0 8px 28px rgba(61,42,18,.2)}
.survey-float-panel p{margin:0}
.survey-float-panel fieldset{border:0;padding:0;margin:0 0 var(--space-3)}
.survey-float-panel legend{padding:0;font-weight:650;font-size:var(--text-ui);margin-bottom:var(--space-2)}
.survey-float-choices{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.survey-float-choices .chip{gap:var(--space-2);cursor:pointer;min-height:44px;padding:var(--space-2) var(--space-4)}
.survey-float-panel .field{margin-bottom:var(--space-3)}
.survey-float-panel textarea{min-height:64px}
@media(prefers-reduced-motion:reduce){.survey-float-button{transition:none}}
@media(max-width:720px){.public-page:has(.cart-bar) .survey-float{bottom:calc(var(--space-3) + 52px + var(--space-3) + env(safe-area-inset-bottom))}}
@media print{.survey-float{display:none}}
/* Ответивший браузер: опрос не исчезает, а свёрнут в круглый значок 44px (владелец, 22.10.2026: «не убирать, а минимизировать»). */
.survey-float-button.is-mini{width:44px;padding:0;justify-content:center;opacity:.85}
.survey-float-button.is-mini:hover{opacity:1}
.survey-float[open] .survey-float-button.is-mini{border-radius:var(--radius-pill)}

/* Палитры публичных страниц (App\Support\Palette, 22.10.2026): монастырь выбирает в «Настройках», владелец — для основного сайта.
   «Бронза» — значения :root выше. Акцент (--color-accent*) — плашка опроса и подсказки. Статусы (успех, ошибка) не меняются. */
body{--color-accent:#FCD19D;--color-accent-line:#E2A15F;--color-accent-ink:#3D2A12;--color-accent-hover:#FBC47F;--color-accent-panel:#FFF8EE}
body[data-palette="shalfey"]{--color-paper:#FBF5EE;--color-surface:#FFFDFA;--color-surface-warm:#F9F0E4;--color-ink:#232F2F;--color-muted:#56625E;--color-brand:#4D615A;--color-brand-hover:#3E4F49;--color-brand-soft:#E6EBE5;--color-brand-ink:#33433D;--color-brand-line:#A9B5AA;--color-border:#E4DCCF;--color-border-strong:#8F978F;--color-footer:#232F2F;--color-footer-text:#D6DCD6;--color-footer-muted:#AAB4AD;--color-footer-line:#35423F;--color-accent:#F9DCBE;--color-accent-line:#CDA77F;--color-accent-ink:#3B2A18;--color-accent-hover:#F5CFA8;--color-accent-panel:#FFF8F0}
body[data-palette="svecha"]{--color-paper:#FDF8EB;--color-surface:#FFFFFF;--color-surface-warm:#FEF4E2;--color-ink:#3A2A1E;--color-muted:#715A48;--color-brand:#B4572A;--color-brand-hover:#974621;--color-brand-soft:#FDE6C5;--color-brand-ink:#6E3A16;--color-brand-line:#E9B98F;--color-border:#F1DFC4;--color-border-strong:#A88F78;--color-footer:#3A2A1E;--color-footer-text:#EEDCC6;--color-footer-muted:#C7B29C;--color-footer-line:#4E3B2C;--color-accent:#FCD19D;--color-accent-line:#E28250;--color-accent-ink:#5A2C10;--color-accent-hover:#FBC47F;--color-accent-panel:#FFF8EE}
body[data-palette="prosfora"]{--color-paper:#FEF7EF;--color-surface:#FFFFFF;--color-surface-warm:#FDF0E6;--color-ink:#23131E;--color-muted:#6A5560;--color-brand:#7B515F;--color-brand-hover:#64414D;--color-brand-soft:#F6E3DF;--color-brand-ink:#5E3A47;--color-brand-line:#D2AFB2;--color-border:#EEDDD3;--color-border-strong:#9E8A92;--color-footer:#2E1C27;--color-footer-text:#EBDCE0;--color-footer-muted:#BFA9B2;--color-footer-line:#432B39;--color-accent:#FDE0B8;--color-accent-line:#FC9A64;--color-accent-ink:#5A2A12;--color-accent-hover:#FCD3A0;--color-accent-panel:#FFF8F0}
.survey-float-button{background:var(--color-accent);border-color:var(--color-accent-line);color:var(--color-accent-ink)}
.survey-float-button:hover{background:var(--color-accent-hover);border-color:var(--color-accent-line)}
.survey-float-panel{background:var(--color-accent-panel);border-color:var(--color-accent-line)}
/* Выбор палитры в «Настройках» и админке: плашки-варианты с пятью образцами цвета. */
.palette-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}
.palette-choice{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer}
.palette-choice:has(input:checked){border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand);background:var(--color-surface-warm)}
.palette-choice:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}
.palette-choice-head{display:flex;align-items:center;gap:var(--space-2);font-weight:650}
.palette-choice-head input{margin:0}
.palette-swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
.palette-swatches span{height:22px;border-radius:4px;border:1px solid rgba(0,0,0,.08)}
/* Чтение по видам записок (25.10.2026): направление → вид → имена. Важность: заголовок шага, затем направление и вид, затем имена, мелко — даты и числа. */
.reading-names{font-size:calc(22px * var(--reading-scale));line-height:1.55;font-weight:400}
.reading-h1{font-size:calc(26px * var(--reading-scale));line-height:1.2;font-weight:700;letter-spacing:-.01em;color:var(--color-ink);margin:var(--space-5) 0 var(--space-4);overflow-wrap:anywhere}
.reading-eyebrow{margin:var(--space-5) 0 0;font-size:calc(15px * var(--reading-scale));font-weight:600;color:var(--color-brand-ink)}
.reading-eyebrow+.reading-h1{margin-top:var(--space-1)}
.reading-directions,.reading-kinds{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.reading-directions a,.reading-kinds a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name go" "count go";align-items:center;column-gap:var(--space-3);row-gap:2px;min-height:64px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-warm);color:inherit;text-decoration:none!important}
.reading-directions a{min-height:88px;padding:var(--space-4)}
.reading-directions a:hover,.reading-kinds a:hover{border-color:var(--color-brand-line);color:inherit}
.reading-directions a:focus-visible,.reading-kinds a:focus-visible,.reading-more a:focus-visible,.reading-to-flow:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}
.reading-direction-name{grid-area:name;font-size:calc(22px * var(--reading-scale));line-height:1.2;font-weight:700;color:var(--color-brand-ink)}
.reading-kind-name{grid-area:name;font-size:calc(18px * var(--reading-scale));line-height:1.3;font-weight:600;overflow-wrap:anywhere}
.reading-count{grid-area:count;display:inline-flex;align-items:center;gap:var(--space-1);font-size:calc(14px * var(--reading-scale));color:var(--color-muted)}
.reading-count-done{color:var(--color-read-green)}
.reading-go{grid-area:go;color:var(--color-brand)}
.reading-read-switch{margin:0 0 var(--space-5)}
.reading-kind-sum{margin:0 0 var(--space-5);font-size:calc(14px * var(--reading-scale));color:var(--color-muted)}
.reading-flow .reading-note{margin:0 0 var(--space-5);padding:0}
.reading-flow .reading-note-date{margin:0 0 var(--space-1)}
.reading-flow .reading-note.is-read .reading-names{color:var(--color-muted)}
.reading-flow .reading-empty h2{font-size:20px}
.reading-more{display:flex;flex-wrap:wrap;gap:0 var(--space-5);margin:var(--space-8) 0 0;font-size:var(--text-ui)}
.reading-more a,.reading-to-flow{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:3px}
.reading.dark .reading-h1{color:#EDE6D6}
.reading.dark .reading-eyebrow,.reading.dark .reading-direction-name,.reading.dark .reading-go{color:#D9B877}
.reading.dark .reading-directions a,.reading.dark .reading-kinds a{background:#1F1D19;border-color:#3A362C}
.reading.dark .reading-directions a:hover,.reading.dark .reading-kinds a:hover{border-color:#5A5446}
.reading.dark .reading-count,.reading.dark .reading-kind-sum,.reading.dark .reading-flow .reading-note.is-read .reading-names{color:#B5AE9E}
.reading.dark .reading-count-done{color:#7FD08F}
/* «Уже прочитано» под непрочитанными видами — тот же список, тише; между блоками — расстояние, без линий. */
.reading-read-block{margin-top:var(--space-12)}
.reading-h2{font-size:calc(17px * var(--reading-scale));line-height:1.3;font-weight:600;color:var(--color-muted);margin:0 0 var(--space-3)}
.reading-kinds-read a{background:transparent}
.reading-kinds-read .reading-kind-name{font-weight:500;color:var(--color-muted)}
.reading-kinds-read .reading-count{color:var(--color-read-green)}
.reading-done-line{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:calc(17px * var(--reading-scale));font-weight:600;color:var(--color-read-green)}
.reading.dark .reading-h2,.reading.dark .reading-kinds-read .reading-kind-name{color:#B5AE9E}
.reading.dark .reading-kinds-read a{background:transparent}
.reading.dark .reading-kinds-read .reading-count,.reading.dark .reading-done-line{color:#7FD08F}
/* «Записки по дате»: день и месяц выбираются сразу, без раскрывающихся «Другой день» и «Месяц». */
.reading-day-open{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3) var(--space-5);padding:var(--space-3);font-size:var(--text-ui)}
.reading-day-open .reading-day-quick{display:flex;flex-wrap:wrap;gap:var(--space-2);flex:1 1 100%}
.reading-day-open .reading-day-quick a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:inherit;text-decoration:none!important}
.reading-day-open .reading-day-quick a.active{background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand-ink);font-weight:600}
.reading-day-open form{display:flex;flex-direction:column;gap:var(--space-1)}
.reading-day-open label{font-size:var(--text-small);color:var(--color-muted)}
.reading-day-open .reading-day-field{display:flex;gap:var(--space-2)}
.reading-day-open input{min-height:44px;font-size:16px;padding:0 var(--space-2);background:transparent;color:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}
.reading-day-open button{min-height:44px;padding:0 var(--space-4)}
.reading-day-open :focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}
.reading.dark .reading-day-open .reading-day-quick a,.reading.dark .reading-day-open input{border-color:#5A5446}
.reading.dark .reading-day-open .reading-day-quick a.active{background:#2A261F;border-color:#D9B877;color:#D9B877}
.reading.dark .reading-day-open label{color:#B5AE9E}
@media(min-width:800px){.reading-day-open{padding-left:calc((100% - 760px) / 2 + var(--space-4));padding-right:calc((100% - 760px) / 2 + var(--space-4))}}
/* «Прочитано сегодня» свёрнуто: заголовок — кнопка раскрытия со стрелкой; без маркера браузера. */
.reading-read-block>summary{display:flex;align-items:center;gap:var(--space-2);min-height:44px;cursor:pointer;list-style:none}
.reading-read-block>summary::-webkit-details-marker{display:none}
.reading-read-block>summary::after{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-4px 0 0 var(--space-1)}
.reading-read-block[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.reading-read-block>summary:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}
/* Помянник и «Записки по дате» (25.10.2026): направление и период одним рядом; список «Период» вместо ряда кнопок. */
.pomyannik-filters,.reading-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3) var(--space-6)}
.reading-filters{padding:var(--space-3)}
@media(min-width:800px){.reading-filters{padding-left:calc((100% - 760px) / 2 + var(--space-4));padding-right:calc((100% - 760px) / 2 + var(--space-4))}}
.pomyannik-directions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.pomyannik-directions a{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font-weight:600;text-decoration:none!important}
.pomyannik-directions a:hover{border-color:var(--color-brand);color:var(--color-ink)}
.pomyannik-directions a.active{background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand-ink);box-shadow:inset 0 -2px 0 var(--color-brand)}
.period-pick{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3) var(--space-4)}
.period-form{display:flex;flex-direction:column;gap:var(--space-1);margin:0}
.period-form label{font-size:var(--text-small);color:var(--color-muted)}
.period-field{display:flex;gap:var(--space-2)}
.period-field select,.period-field input{min-height:44px;min-width:190px;padding:0 var(--space-3);font:inherit;font-size:16px;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}
.period-field select:focus-visible,.period-field input:focus-visible,.pomyannik-directions a:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}
.period-field button[hidden]{display:none}
.reading.dark .pomyannik-directions a{background:transparent;border-color:#5A5446;color:#EDE6D6}
.reading.dark .pomyannik-directions a.active{background:#2A261F;border-color:#D9B877;color:#D9B877;box-shadow:inset 0 -2px 0 #D9B877}
.reading.dark .period-form label{color:#B5AE9E}
.reading.dark .period-field select,.reading.dark .period-field input{background:#1F1D19;border-color:#5A5446;color:#EDE6D6}
@media(max-width:720px){.pomyannik-directions,.period-pick,.period-form{flex:1 1 100%}.pomyannik-directions a{flex:1 1 auto;justify-content:center}.period-field select,.period-field input{flex:1 1 auto;min-width:0}}
/* Помянник: как в «Чтении» — дата листа, направление, треба и вид, имена одним столбцом; без карточек и линий. */
.app-main .pomyannik-date{font-size:24px;line-height:1.25;font-weight:700;letter-spacing:-.01em;margin:var(--space-6) 0 0}
.pomyannik-group{margin-top:var(--space-8)}
.pomyannik-direction{font-size:20px;line-height:1.25;font-weight:700;letter-spacing:0;color:var(--color-brand-ink);margin:0 0 var(--space-3)}
.pomyannik-sheet,.app-main .pomyannik-sheet{border:0;border-radius:0;background:none;padding:0;margin:0 0 var(--space-6)}
.pomyannik-sheet h3{font-size:17px;line-height:1.3;font-weight:600;color:var(--color-ink);margin:0}
.pomyannik-order,.app-main .pomyannik-order{margin:var(--space-2) 0 0;font-size:13px}
.pomyannik-names,.app-main .pomyannik-names{columns:1!important;margin:var(--space-1) 0 0;font-size:19px;line-height:1.55;font-weight:400}
@media(max-width:720px){.app-main .pomyannik-date{font-size:21px}.pomyannik-direction{font-size:18px}.pomyannik-names,.app-main .pomyannik-names{font-size:18px}}
@media print{
  .pomyannik-sheet,.app-main .pomyannik-sheet{border:0!important;padding:0!important;margin:0 0 12pt!important;break-inside:avoid}
  .app-main:has(.pomyannik-date)>:not([data-soft-region="page"]){display:none!important}
  .pomyannik-group{margin-top:14pt}
  .pomyannik-direction{font-size:14pt;color:#000;margin-bottom:6pt}
  .pomyannik-sheet h3{font-size:12pt;color:#000}
  .app-main .pomyannik-date{font-size:14pt;margin-top:0}
  .pomyannik-names,.app-main .pomyannik-names{font-size:13pt;line-height:1.45;color:#000}
}
.reading-direction-switch{margin:var(--space-5) 0 0}
.reading-direction-switch a{flex:1 1 0;justify-content:center;gap:var(--space-1);white-space:nowrap;padding:0 var(--space-3)}
.reading-direction-switch a.active,.pomyannik-directions a.active{font-weight:700;background:var(--color-brand-soft);border-color:var(--color-brand);box-shadow:inset 0 -2px 0 var(--color-brand)}
.reading-direction-switch a.is-health,.pomyannik-directions a.is-health,.reading-eyebrow.is-health,.reading-direction-name.is-health{color:var(--intention-health)}
.reading-direction-switch a.is-health:hover,.pomyannik-directions a.is-health:hover{border-color:var(--color-brand-line)}
@media(max-width:380px){.reading-direction-switch a{font-size:15px;padding:0 var(--space-2)}}
/* Переключение без перезагрузки: кнопки «Показать» не нужны со скриптом; пока грузится — область чуть бледнеет. */
.js-on [data-autosubmit-button]{display:none}
.soft-loading [data-soft-region="page"]{opacity:.55;transition:opacity .15s ease}
[data-soft-region="page"] h1:focus,[data-soft-region="page"] h2:focus{outline:none}
.reading-back-slot{display:contents}
/* «Кому доступен сервис» сразу после плашки «Если оплатить трудно»: две плашки подряд выглядели одним и тем же блоком.
   Теперь — обычный раздел по сетке главной (заголовок слева, текст справа), без плашки (владелец, 26.10.2026). */
.home-audience{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-12);align-items:start;padding:0;border:0;border-radius:0;background:none}
.home-audience .home-h2{margin:0}
@media(max-width:950px){.home-audience{grid-template-columns:1fr;gap:var(--space-3)}}
@media(max-width:560px){.home-audience{padding:0}}
/* Телефон (владелец, 26.10.2026: «шрифт на мобильном мелковат»): основной текст 18px, интерфейс 17px, подписи не мельче 14px. */
@media(max-width:720px){
  :root{--text-body:18px;--text-ui:17px;--text-small:15px;--text-tiny:14px;--text-h3:18px}
  .lede{font-size:var(--text-body)}
  .footer{font-size:16px}.footer .tiny{font-size:15px}
  .inline-help,.section-index-meta,.pomyannik-order,.app-main .pomyannik-order{font-size:14px}
  .section-index-list{font-size:15px}
  .agree,.field label.agree{font-size:15px;line-height:1.45}
}
/* «Заказная» и «простая» (цвета — владелец, 29.10.2026: заказная мягко-красная #D95A54, простая тёмно-серая #2B3034): цветом выделено только это слово в названии требы — в «Чтении», «Помяннике», заказе и каталоге.
   Имена, строки и фон не окрашиваются. Слово полужирное и не меньше 19px — крупный текст, достаточно 3 : 1: мягко-красный на светлом ~3,6 : 1.
   В тёмном режиме чтения #2B3034 не виден на тёмном фоне — простая там светло-серая #C9CDD0, мягко-красный тот же. */
:root{--variant-zakaz:#D95A54;--variant-prost:#2B3034;--intention-health:#D95A54;--intention-health-soft:#FFF1EF;--intention-health-line:#E8C5C1}
.reading.dark{--variant-zakaz:#D95A54;--variant-prost:#C9CDD0}
.treba-variant{font-weight:700}
.treba-variant.variant-zakaz{color:var(--variant-zakaz)}.treba-variant.variant-prost{color:var(--variant-prost)}
.reading-kinds-read .treba-variant{color:inherit;font-weight:inherit}
@media print{.treba-variant{color:inherit!important;font-weight:inherit}}
/* Порядок иерархии записок (владелец, 26.10.2026: «имена не должны быть больше вида записок… всё это не должно скакать»).
   Везде — чтение, листание записок, помянник — одна шкала: раздел 22 → вид записки 19 → доп. сведения 15 → имена 18.
   Имена обычного размера; крупнее их делает читающий кнопками А−/А+ — они умножают все четыре размера (--reading-scale), поэтому вид записки всегда не меньше имён.
   Размеры одинаковы на телефоне и компьютере. Печать помянника — своя (ниже не меняется). */
.reading-group h1,.reading-eyebrow,.reading-direction-name{font-size:calc(22px * var(--reading-scale));line-height:1.25;font-weight:700;color:var(--color-brand-ink)}
.reading-h1{font-size:calc(22px * var(--reading-scale))}
.reading-group h2,.reading-eyebrow+.reading-h1,.reading-kind-name{font-size:calc(19px * var(--reading-scale));line-height:1.3;font-weight:700;color:var(--color-ink);opacity:1}
.reading.dark .reading-group h2,.reading.dark .reading-eyebrow+.reading-h1,.reading.dark .reading-kind-name{color:#EDE6D6}
.reading.dark .reading-group h1,.reading.dark .reading-eyebrow{color:#D9B877}
.reading-note-date,.reading-note-mark,.reading-kind-sum,.reading-count,.reading-note-purged{font-size:calc(15px * var(--reading-scale))}
.reading-names{font-size:calc(18px * var(--reading-scale));line-height:1.55;font-weight:400}
.reading-group h2{margin:var(--space-6) 0 var(--space-1)}.reading-group h1+h2{margin-top:var(--space-3)}
.reading-kinds-read .reading-kind-name{font-weight:500;color:var(--color-muted)}.reading.dark .reading-kinds-read .reading-kind-name{color:#B5AE9E}
@media screen{
  .pomyannik-direction,.app-main .pomyannik-direction{font-size:22px;line-height:1.25}
  .pomyannik-sheet h3{font-size:19px;line-height:1.3;font-weight:700}
  .pomyannik-order,.app-main .pomyannik-order{font-size:15px}
  .pomyannik-names,.app-main .pomyannik-names{font-size:18px;line-height:1.55}
}
/* Подписи у записки — компактно (владелец, 26.10.2026: «подписи о подаче и о количестве разбросаны»): заголовок вида, «подана …» / «3 имени · 1 записка» и имена — одной группой, без пустых промежутков. */
.reading-group h2{margin-bottom:0}
.reading-group h2+.reading-note{margin-top:2px}
.reading-note{margin:var(--space-3) 0 0;padding-top:0;padding-bottom:0}
.reading-note.is-read{padding-top:var(--space-1);padding-bottom:var(--space-1)}
.reading-note-date,.reading-flow .reading-note-date{margin:0 0 2px;line-height:1.35}
.reading-eyebrow+.reading-h1{margin-bottom:2px}
.reading-kind-sum{margin:0 0 2px;line-height:1.35}
.reading-flow .reading-kind-sum+.reading-note{margin-top:0}
.reading-note .reading-names{margin-top:var(--space-2)}
/* Владелец, 26.10.2026: «немного увеличить заголовок („О здравии“) и вид требы». Раздел 24, вид записки 21 (имена — 18, подписи — 15). */
.reading-group h1,.reading-eyebrow,.reading-direction-name,.reading-h1{font-size:calc(24px * var(--reading-scale))}
.reading-group h2,.reading-eyebrow+.reading-h1,.reading-kind-name{font-size:calc(21px * var(--reading-scale))}
@media screen{.pomyannik-direction,.app-main .pomyannik-direction{font-size:24px}.pomyannik-sheet h3{font-size:21px}}
/* Заголовок, на который переводится фокус после переключения без перезагрузки (app.js), — без рамки: её видно, а нажимать нечего. */
h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:none}

/* Тема WordPress для храмов — последний раздел главной (27.10.2026): сетка 5 : 7, внизу бледная плашка с платной помощью; без линий и карточек. */
.home-h3{font-family:var(--font-serif);font-size:20px;font-weight:700;line-height:1.3;letter-spacing:0;margin:0 0 var(--space-3);max-width:40ch}
.home-theme{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-12)}
.home-theme-list .home-ruled{margin-top:0}
.home-theme-help{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-12);padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-warm)}
.home-theme-help p{max-width:62ch}
.home-theme-help .home-theme-note{margin:var(--space-1) 0 var(--space-4)}
.home-theme .nowrap{white-space:nowrap}
@media(max-width:950px){.home-theme,.home-theme-help{grid-template-columns:1fr;gap:var(--space-8)}.home-theme-help{gap:var(--space-6);padding:var(--space-6) var(--space-4)}}

/* Цветные полосы на главной (27.10.2026, владелец: «некоторые секции раскрасить цветом бледным»): три раздела — путь записки, инструменты,
   подключение — на очень бледном фоне во всю ширину экрана; чередуются тёплый и светлый зеленоватый (от --stage-done), между ними — белые разделы.
   Рядом с полосой плашек нет (плашка на цветном фоне сливается), кроме героя: у него почти белый фон, и от него до полосы столько же, сколько до любого белого раздела. Без линий, теней и градиентов; фон — псевдоэлемент на всю ширину окна.
   Отступы считаются от края полосы (владелец): снаружи до соседнего раздела 64px на компьютере и 48px на телефоне, внутри полосы столько же.
   Полоса тянется до края окна фоном-псевдоэлементом на 100vw, поэтому горизонтальная прокрутка отсекается (overflow-x:clip) только на главной.
   Контраст: текст --color-ink и --color-muted на этих фонах — не ниже 6 : 1; ссылки внутри полосы — цветом --color-brand-ink (не ниже 7 : 1). */
:root{--band-warm:#F8F3E9;--band-sage:#F2F6F4}
body.public-page:has(.home-band){overflow-x:clip}
.home-band{position:relative;isolation:isolate;margin-top:64px;padding-block:64px}
.home-band::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:var(--band-bg)}
.home-band-warm{--band-bg:var(--band-warm)}
.home-band-sage{--band-bg:var(--band-sage)}
.home-band+.home-block{margin-top:64px}
.home-band a:not(.button){color:var(--color-brand-ink);text-decoration:underline;text-decoration-color:var(--color-brand-line);text-underline-offset:3px}
.home-band a:not(.button):hover{color:var(--color-brand-hover)}
.home-band .home-link{text-decoration:none}
@media(max-width:720px){.home-band{margin-top:48px;padding-block:48px}.home-band+.home-block{margin-top:48px}}

/* Админка → «Тексты главной» (27.10.2026): поля идут друг за другом с воздухом между ними, без линий; подпись и отметка «Изменено» — в одной строке над полем. */
.home-texts-form{display:grid;gap:var(--space-6);max-width:860px}
.text-field{display:grid;gap:var(--space-1);justify-items:start}
.text-field-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-3)}
.text-field-head label{font-weight:600}
.text-field .field{width:100%}
.text-field textarea{min-height:92px;resize:vertical;line-height:1.5}
.text-field-default pre{margin:var(--space-1) 0 0;white-space:pre-wrap;word-break:break-word;font:inherit;color:var(--color-muted)}
.home-texts-group>form[data-confirm]{margin-top:var(--space-4)}
.text-field-actions{grid-column:auto;align-items:center;flex-wrap:wrap;gap:var(--space-3) var(--space-4)}
.faq-edit-list{display:grid;gap:var(--space-8)}
.faq-edit-item{display:grid;gap:var(--space-3);justify-items:start}
.faq-edit-item .text-field{width:100%}

/* ===== Ссылки, меню, кнопки: узнаваемость (27.10.2026, UX-аудит) =====
   Ссылка — тёмная бронза (контраст ≥ 5 : 1; прежняя #92784F на белом давала 3,8 : 1) + постоянный признак.
   Главная кнопка — тот же тёмный тон (белый текст 5,7 : 1), при наведении ещё темнее. Меню — группа с областью нажатия 44px. */
a:not([class]):active{color:var(--color-link-hover)}
/* Ссылки в таблицах, подписях и сносках — тоже подчёркнуты, а не только цветные. */
td a:not([class]),dd a:not([class]),small a,.tiny a,.muted a,.note a,.hint a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.demo-strip a{color:var(--color-brand-ink);text-decoration:underline;text-underline-offset:3px}
.demo-strip a:hover{color:var(--color-ink)}
/* Ссылка со стрелкой («Как это устроено →») — подчёркнута, как остальные ссылки в тексте. */
.home-link,.home-band .home-link{text-decoration:underline;text-decoration-color:var(--color-brand-line);text-decoration-thickness:1px;text-underline-offset:4px}
.home-link:hover{text-decoration-color:currentColor}
/* Второстепенная кнопка «Подробнее»: тонкая бронзовая рамка, чтобы не читалась как обычный текст. */
.button.ghost,button.ghost{color:var(--color-brand-ink);border-color:var(--color-brand-line)}
/* Ссылки в тёмном подвале: постоянная тонкая линия, при наведении — полная. */
.footer a:not(.button){text-decoration:underline;text-decoration-color:rgba(131,169,208,.5);text-decoration-thickness:1px;text-underline-offset:3px}
.footer a:not(.button):hover,.footer a:not(.button):focus-visible{text-decoration-color:currentColor}
/* Тёмный режим чтения: светлые тона ссылок (тёмная бронза на #141310 даёт ~3 : 1). */
.reading.dark{--color-link:#D9B877;--color-link-hover:#EDE6D6}
/* Выбранная сумма: тот же тёмный тон, что у основной кнопки (белый текст ≥ 4,5 : 1). */
.quick-amounts .chip[aria-pressed=true]{background:var(--color-brand-hover);border-color:var(--color-brand-hover)}

/* Картинка справа на главной по умолчанию — окно виджета в простой рамке телефона (иллюстрация, не интерфейс): без своей рамки и тени. */
.home-intro-photo.is-phone{max-width:300px}
.home-intro-photo.is-phone img{border:0;border-radius:0;background:none;box-shadow:none;pointer-events:none;user-select:none}
@media(max-width:950px){.home-intro-photo.is-phone{max-width:260px}}

/* ===== Меню основного сайта — текстовые ссылки, не кнопки (28.10.2026) =====
   Пункты меню — одна строка слов без рамок и заливки; узнаются по положению в шапке и тонкой бронзовой линии под словом
   при наведении. Текущий раздел — полная линия и тёмный тон. Фокус с клавиатуры — заметная рамка. Кнопки остаются только у действий. */
.site-nav{gap:var(--space-6)}
.site-nav a{padding:0;background:none;border:0;border-radius:0;color:var(--color-ink);font-size:15px;font-weight:600;text-decoration:underline;text-decoration-color:rgba(197,179,142,.45);text-decoration-thickness:1px;text-underline-offset:8px;transition:color .15s ease,text-decoration-color .15s ease}
.site-nav a:hover{color:var(--color-brand-ink);text-decoration-color:var(--color-brand-line)}
.site-nav a[aria-current=page]{text-decoration-thickness:2px}
.site-nav a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:2px;color:var(--color-brand-ink)}
.site-nav a[aria-current=page]{border:0;box-shadow:none;background:none;color:var(--color-brand-ink);font-weight:600;text-decoration-color:var(--color-brand)}
@media(max-width:799px){.public-header .inner:has(.site-nav){padding-bottom:var(--space-1)}.site-nav{gap:var(--space-5);flex-wrap:wrap;row-gap:0}.site-nav a{min-height:44px;font-size:15px;text-underline-offset:6px}}

/* Строка «Кому доступен сервис» под заголовком подключения. */
.home-connect-lead{max-width:60ch;color:var(--color-muted)}

/* Последний раздел главной — приглашение заказать сайт: бледная плашка, текст слева, кнопка справа (на телефоне — под текстом). */
.home-site{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-6) var(--space-12);align-items:center;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-warm)}
.home-site p{margin:0;max-width:66ch}
@media(max-width:950px){.home-site{grid-template-columns:1fr;padding:var(--space-6) var(--space-4)}}
@media(max-width:560px){.home-site-action .button{width:100%;white-space:normal}}

/* Страница «Создание сайта»: разделы строками по сетке главной (5 : 7), между разделами — расстояние; стоимость и заказ — плашкой. */
.site-intro{padding-bottom:var(--space-4)}
.site-intro .home-title{max-width:26ch}
.site-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-3) var(--space-12);align-items:start;margin-top:var(--space-16)}
.site-row .home-h2{margin:0}
.site-row .home-ruled{margin-top:0}
.site-row p{max-width:62ch}
.site-row .home-lead{margin-bottom:var(--space-2)}
.site-row>div>:last-child{margin-bottom:0}
.site-plaque{padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-warm)}
.site-plaque+.site-plaque{margin-top:var(--space-6)}
.site-row .home-ruled+p{margin-top:var(--space-4)}
.site-row .nowrap{white-space:nowrap}
.site-editor-preview{grid-column:1/-1;width:100%;max-width:800px;margin:var(--space-6) auto 0}
.site-editor-preview-link{display:block;border-radius:var(--radius-sm);overflow:hidden}
.site-editor-preview-crop{display:block;aspect-ratio:912/910;overflow:hidden;background:#FFFFFF}
.site-editor-preview-crop img{display:block;width:191.885965%;max-width:none;height:auto;transform:translate(-25.2%,-4.405738%)}
.site-editor-preview figcaption{margin-top:var(--space-3);font-size:var(--text-small);line-height:1.5;color:var(--color-muted)}
.site-editor-preview figcaption a{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;text-decoration:underline;text-underline-offset:3px}
.image-preview-open{overflow:hidden}
.image-preview-dialog{width:calc(100% - 32px);max-width:1040px;max-height:90dvh;max-height:90vh;padding:0 var(--space-4) var(--space-4);border:0;border-radius:var(--radius-md);background:#FFFFFF;color:var(--color-ink);overscroll-behavior:contain}
.image-preview-dialog::backdrop{background:rgba(0,0,0,.7)}
.image-preview-toolbar{position:sticky;top:0;z-index:1;display:flex;justify-content:flex-end;padding:var(--space-2) 0;background:#FFFFFF}
.image-preview-close,.image-preview-close:hover{min-height:44px;background:#FFFFFF;color:var(--color-ink);border-color:var(--color-border-strong)}
@media(max-width:950px){.site-row{grid-template-columns:1fr;margin-top:var(--space-12)}.site-plaque{padding:var(--space-6) var(--space-4)}}
@media(max-width:560px){.site-row .button{width:100%;white-space:normal}}
@media(max-width:430px){.site-nav{gap:var(--space-4)}.site-nav a{font-size:15px}}
/* Направление уже выбрано вкладкой «О здравии» / «Об упокоении» — строка с выбранным и «Изменить» вместо повторного выбора (28.10.2026). */
[data-intention-choice][hidden]{display:none!important}
.intention-chosen{margin:var(--space-6) 0 0}
/* Плашка «Один вопрос» на телефоне не закрывает последнюю строку подвала (28.10.2026). */
@media(max-width:720px){body:has(.survey-float) .footer{padding-bottom:calc(var(--space-8) + 64px)}}
/* Кабинет: ссылка «← Раздел» над заголовком вложенной страницы (редактор требы, сбора, заказ), 28.10.2026. */
.app-back{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;margin-bottom:var(--space-1);font-size:var(--text-ui);font-weight:600;color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-brand-line);text-underline-offset:4px}
.app-back:hover{color:var(--color-link-hover);text-decoration-color:currentColor}
/* Каталог: храм или монастырь, который ещё подключается, — тихая пометка тёплым тоном (28.10.2026). */
.dir-connecting{margin-top:var(--space-1);color:var(--color-danger);font-weight:600}
/* Перечень: каждый вид со своей суммой (28.10.2026) — сумма не разрывается, длинная подпись вида переносится. */
.amount-variant .amount-sum{white-space:nowrap}
.amount-variant{line-height:1.3}
/* Строка требы на телефоне: колонка суммы с видами может переноситься, чтобы подпись вида не заходила под кнопку. */
.catalog-price:has(.amount-variant){white-space:normal;min-width:0}
.amount-variant .tiny{overflow-wrap:anywhere}
/* Телефон: все строки перечня одинаковые (владелец, 29.10.2026) — название, описание, суммы, а кнопка всегда внизу слева. */
@media(max-width:720px){.catalog-list .catalog-row .catalog-price{grid-column:1/-1;grid-row:auto}.catalog-list .catalog-row .catalog-action{grid-column:1/-1;grid-row:auto;justify-self:start;align-self:start}.catalog-list .catalog-row .catalog-price:empty{display:none}}
/* Корзина в шапке — кружок со значком, без подписи (владелец, 29.10.2026); число записок — бронзовый кружок в правом верхнем углу. */
.header-cart{position:relative;display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);transition:border-color .15s ease,color .15s ease}
.header-cart:hover{border-color:var(--color-brand-line);color:var(--color-brand-ink)}
.header-cart:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
.header-cart .cart-count{position:absolute;top:-5px;right:-7px;margin:0;min-width:20px;height:20px;padding:0 5px;font-size:11px;box-shadow:0 0 0 2px var(--color-paper)}

/* Направления: цвет текста и рамка; в каталоге выбранная вкладка также имеет лёгкую заливку. */
:root{--color-direction-health:#B42332;--color-direction-repose:#454B54;--color-direction-services:#7A6340}
[data-direction="zdravie"]{--direction-ink:var(--color-direction-health);--direction-bg:#FFF0F2}
[data-direction="upokoenie"]{--direction-ink:var(--color-direction-repose);--direction-bg:#EEF1F4}
[data-direction="sluzhby"]{--direction-ink:var(--color-direction-services);--direction-bg:#F5EFE5}
nav.segmented a[data-direction],nav.segmented a[data-direction]:hover,nav.segmented a[data-direction][aria-current=page]{color:var(--direction-ink);background:#FFFFFF}
nav.segmented a[data-direction]:not([aria-current=page]):hover{border-color:var(--direction-ink);box-shadow:none}
nav.segmented a[data-direction][aria-current=page]{border-color:var(--direction-ink);box-shadow:inset 0 -2px 0 var(--direction-ink)}
nav.segmented.catalog-directions a[data-direction][aria-current=page]{background:var(--direction-bg)}
form:has(input[name=intention][value=health]:checked) .intention-chosen strong{color:var(--color-direction-health)}
form:has(input[name=intention][value=repose]:checked) .intention-chosen strong{color:var(--color-direction-repose)}
.chip:has(input[name=intention][value=health]),.w-choice:has(input[name=intention][value=health]){--direction-ink:var(--color-direction-health)}
.chip:has(input[name=intention][value=repose]),.w-choice:has(input[name=intention][value=repose]){--direction-ink:var(--color-direction-repose)}
.chip:has(input[name=intention]),.w-choice:has(input[name=intention]){color:var(--direction-ink);background:#FFFFFF}
.chip:has(input[name=intention]):hover,.w-choice:has(input[name=intention]):hover{border-color:var(--direction-ink)}
.chip:has(input[name=intention]:checked),.w-choice:has(input[name=intention]:checked){color:var(--direction-ink);background:#FFFFFF;border-color:var(--direction-ink);box-shadow:inset 0 -2px 0 var(--direction-ink)}
.chip input[name=intention],.w-choice input[name=intention]{accent-color:var(--direction-ink)}

/* Помянник: выбор состава печати не меняет список на экране. */
.pomyannik-print-choice{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-ui);font-weight:600}
.pomyannik-print-choice select{min-height:44px;max-width:100%;padding:var(--space-2);font:inherit;font-weight:400;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}
.pomyannik-print-empty{display:none!important}
.pomyannik-name-layout{flex:1 1 100%;border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:0 var(--space-6)}
.pomyannik-name-layout[hidden]{display:none}
.pomyannik-name-layout legend{padding:0;margin-bottom:var(--space-2);font-size:var(--text-small);color:var(--color-muted)}
.pomyannik-name-layout label{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--text-ui);font-weight:400}
.pomyannik-name-layout label:has(input:checked){font-weight:600}
.pomyannik-name-layout input{width:22px;height:22px;margin:0;accent-color:var(--color-brand-hover)}
.pomyannik-display-options{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-6) var(--space-10);margin-top:var(--space-6)}
.pomyannik-display-options .pomyannik-grouping,.pomyannik-display-options .pomyannik-name-layout{flex:0 1 auto}
.pomyannik-print-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);margin-top:var(--space-6)}
.pomyannik-print-actions .pomyannik-print-choice{flex-direction:column;align-items:flex-start;gap:var(--space-1)}
.pomyannik-print-scope .pomyannik-filters{align-items:flex-start;gap:var(--space-4);margin-top:var(--space-6)}
.pomyannik-print-scope .pomyannik-filters>.pomyannik-directions{flex:1 1 100%}
.pomyannik-print-scope .treba-filter{padding:0;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);margin:0;min-width:0;max-width:100%}
.pomyannik-print-scope .treba-filter label{font-size:var(--text-small);color:var(--color-muted)}
.pomyannik-print-scope .treba-filter select{flex:none;height:44px;min-height:44px;max-width:100%;font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);padding:0 var(--space-3)}
@media(max-width:720px){.pomyannik-display-options{flex-direction:column;gap:var(--space-4)}.pomyannik-print-actions .pomyannik-print-choice{align-items:stretch}.pomyannik-print-actions>[data-print]{width:100%}}
.pomyannik-print-scope[data-names-layout="inline"] .pomyannik-names{display:block;list-style:none;padding-left:0}
.pomyannik-print-scope[data-names-layout="inline"] .pomyannik-names li{display:inline;overflow-wrap:anywhere}
.pomyannik-print-scope[data-names-layout="inline"] .pomyannik-names li:not(:last-child)::after{content:", "}
.pomyannik-grouping{flex:1 1 100%;margin:0}
.pomyannik-grouping fieldset{display:flex;flex-wrap:wrap;gap:0 var(--space-6);border:0;padding:0;margin:0}
.pomyannik-grouping legend{padding:0;margin-bottom:var(--space-2);font-size:var(--text-small);color:var(--color-muted)}
.pomyannik-grouping label{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--text-ui);font-weight:400}
.pomyannik-grouping label:has(input:checked){font-weight:600}
.pomyannik-grouping input[type=radio]{width:22px;height:22px;margin:0;accent-color:var(--color-brand-hover)}
.pomyannik-print-scope .pomyannik-directions a{--sheet-direction-ink:var(--color-ink);color:var(--sheet-direction-ink);background:var(--color-surface)}
.pomyannik-print-scope .pomyannik-directions a.is-health{--sheet-direction-ink:var(--color-direction-health)}
.pomyannik-print-scope .pomyannik-directions a.is-repose{--sheet-direction-ink:var(--color-direction-repose)}
.pomyannik-print-scope .pomyannik-directions a:hover{color:var(--sheet-direction-ink);border-color:var(--sheet-direction-ink)}
.pomyannik-print-scope .pomyannik-directions a.active{color:var(--sheet-direction-ink);border-color:var(--sheet-direction-ink);background:var(--color-surface);box-shadow:inset 0 -2px 0 var(--sheet-direction-ink)}
.pomyannik-print-scope .pomyannik-direction.is-health{color:var(--color-direction-health)}
.pomyannik-print-scope .pomyannik-direction.is-repose{color:var(--color-direction-repose)}
/* Направления чтения используют ту же палитру, что и помянник. */
.reading{--reading-direction-health:var(--color-direction-health);--reading-direction-repose:var(--color-direction-repose)}
.reading.dark{--reading-direction-health:#F28D96;--reading-direction-repose:#C9CDD0}
.reading .reading-direction-name.is-health,.reading .reading-eyebrow.is-health{color:var(--reading-direction-health)}
.reading .reading-direction-name.is-repose,.reading .reading-eyebrow.is-repose{color:var(--reading-direction-repose)}
.reading .reading-direction-switch a{--reading-direction-ink:var(--reading-direction-repose);color:var(--reading-direction-ink);background:transparent}
.reading .reading-direction-switch a.is-health{--reading-direction-ink:var(--reading-direction-health)}
.reading .reading-direction-switch a:hover,.reading .reading-direction-switch a.active{color:var(--reading-direction-ink);border-color:var(--reading-direction-ink)}
.reading .reading-direction-switch a.active{background:transparent;box-shadow:inset 0 -2px 0 var(--reading-direction-ink)}
.reading .reading-direction-name,.reading .reading-eyebrow{font-size:calc(26px * var(--reading-scale))}
@media screen{.pomyannik-print-scope .pomyannik-direction{font-size:26px}}
@media(max-width:720px){.pomyannik-print-choice{width:100%;flex-direction:column;align-items:stretch}.pomyannik-print-choice select{width:100%;min-width:0}}
@media print{
  html[data-print-unread] [data-pomyannik-read="true"],html[data-print-unread] [data-pomyannik-sheet]:not(:has([data-pomyannik-read="false"])),html[data-print-unread] [data-pomyannik-group]:not(:has([data-pomyannik-read="false"])){display:none!important}
  html[data-print-unread] .pomyannik-print-scope:not(:has([data-pomyannik-read="false"])) .pomyannik-print-empty{display:block!important}
  .pomyannik-print-scope .pomyannik-direction{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Документы для подключения: длинная кнопка переносится, выбор документа — на всю ширину. */
.button.document-upload-link{max-width:100%;white-space:normal;text-align:center}
.admin-form.document-upload-form{grid-template-columns:minmax(0,1fr)}
.document-upload-form .field{min-width:0}
.document-upload-form .field,.document-upload-form .form-actions{grid-column:1/-1}

/* Виды пожертвований: поля и действия остаются видимыми на телефоне. */
.requirement-variants{display:grid;gap:var(--space-3);margin-bottom:var(--space-3)}
.requirement-variant{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,200px);gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.requirement-variant label{min-width:0;margin:0}
.requirement-variant input{margin-top:var(--space-1);font-weight:400}
.requirement-variant-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);grid-column:1/-1}
[data-variant-editor] [hidden]{display:none}
.requirement-variant-actions .button{min-height:44px}
@media(max-width:600px){.requirement-variant{grid-template-columns:minmax(0,1fr)}.requirement-variant-actions{grid-column:1}}
