/* ============================================================
   ArisWord — web editor UI. Light, refined office suite.
   Golos Text (RU) UI · emerald accent · paper canvas.
   ============================================================ */

/* ---- Self-hosted Golos Text (latin + cyrillic), variable weights ---- */
@font-face{font-family:'Golos Text';font-weight:400 700;font-display:swap;
  src:url(fonts/golos-cyrillic.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Golos Text';font-weight:400 700;font-display:swap;
  src:url(fonts/golos-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Golos Text';font-weight:400 700;font-display:swap;
  src:url(fonts/golos-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --paper:#F4F3EE;          /* app background */
  --surface:#FFFFFF;        /* ribbon / panels */
  --canvas:#E9E8E2;         /* gray mat behind the page */
  --ink:#1D232B;            /* primary text */
  --muted:#6A7280;          /* secondary text */
  --faint:#9AA1AB;
  --line:#E4E2D9;           /* hairlines */
  --line-2:#D7D4C9;
  --accent:#157A57;         /* emerald */
  --accent-press:#0F5E43;
  --accent-weak:#157A571A;
  --accent-weak-2:#157A570F;
  --amber:#C9892B;          /* secondary highlight */
  --danger:#C2483B;
  --r-sm:6px; --r:9px; --r-lg:13px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(29,35,43,.06);
  --sh-2:0 6px 18px rgba(29,35,43,.10);
  --sh-3:0 24px 60px rgba(29,35,43,.18);
  --ui:'Golos Text',system-ui,-apple-system,'Segoe UI',sans-serif;
  --t:140ms cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{font-family:var(--ui);color:var(--ink);background:var(--paper);
  font-size:14px;-webkit-font-smoothing:antialiased;overflow:hidden;
  display:flex;flex-direction:column}
button{font-family:inherit}
::selection{background:var(--accent-weak);}

/* ---------- Title bar ---------- */
.titlebar{display:flex;align-items:center;gap:14px;height:48px;padding:0 14px;
  background:var(--surface);border-bottom:1px solid var(--line);flex:none;z-index:30}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand .logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(140deg,#1E9A6E,#0F5E43);
  display:grid;place-items:center;color:#fff;font-weight:700;box-shadow:var(--sh-1)}
.brand .logo svg{width:18px;height:18px}
.brand b{font-size:15.5px;font-weight:700;letter-spacing:-.01em}
.brand b span{color:var(--accent)}
.doc-title{display:flex;align-items:center;gap:8px;margin-left:8px;min-width:0}
.doc-title input{border:1px solid transparent;background:transparent;font:600 14px/1 var(--ui);
  color:var(--ink);padding:6px 8px;border-radius:7px;width:240px;max-width:34vw;transition:var(--t)}
.doc-title input:hover{background:var(--paper)}
.doc-title input:focus{outline:none;background:#fff;border-color:var(--line-2);box-shadow:var(--sh-1)}
.doc-title .saved{font-size:12px;color:var(--faint)}
.tb-spacer{margin-left:auto}
.tb-actions{display:flex;align-items:center;gap:8px}
.icon-btn{width:34px;height:34px;border-radius:8px;border:1px solid transparent;background:transparent;
  color:var(--muted);cursor:pointer;display:grid;place-items:center;font-size:15px;transition:var(--t)}
.icon-btn:hover{background:var(--paper);color:var(--ink)}
.icon-btn:disabled{opacity:.38;cursor:default}
.btn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:8px;
  border:1px solid var(--line-2);background:#fff;color:var(--ink);font:600 13.5px var(--ui);cursor:pointer;transition:var(--t)}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-press);color:#fff}
.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(140deg,#2A2F3A,#11151c);
  color:#F1EFE8;display:grid;place-items:center;font-weight:600;font-size:12.5px;cursor:pointer}

/* ---------- Ribbon ---------- */
.tabs{display:flex;align-items:center;gap:2px;padding:0 12px;background:var(--surface);
  border-bottom:1px solid var(--line);flex:none;height:40px;z-index:20}
.tab{border:0;background:transparent;color:var(--muted);font:600 13.5px var(--ui);padding:9px 14px;
  border-radius:8px 8px 0 0;cursor:pointer;position:relative;transition:var(--t)}
.tab:hover{color:var(--ink);background:var(--paper)}
.tab.active{color:var(--accent)}
.tab.active::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2.5px;
  background:var(--accent);border-radius:2px}

.ribbon{display:flex;align-items:stretch;gap:0;padding:8px 12px;background:var(--surface);
  border-bottom:1px solid var(--line);flex:none;overflow-x:auto;min-height:92px}
.ribbon::-webkit-scrollbar{height:0}
.rgroup{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 14px;
  border-right:1px solid var(--line);flex:none}
.rgroup:last-child{border-right:0}
.rgroup .rg-body{display:flex;align-items:center;gap:6px;flex:1}
.rgroup .rg-name{font-size:11px;color:var(--faint);letter-spacing:.02em}
.rcol{display:flex;flex-direction:column;gap:4px}
.rrow{display:flex;align-items:center;gap:4px}

/* ribbon controls */
.tool{height:32px;min-width:32px;padding:0 8px;border-radius:7px;border:1px solid transparent;
  background:transparent;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;
  justify-content:center;gap:6px;font:600 13.5px var(--ui);transition:var(--t)}
.tool:hover{background:var(--paper);border-color:var(--line)}
.tool.on{background:var(--accent-weak);border-color:transparent;color:var(--accent)}
.tool .ic{font-size:15px;line-height:1}
.tool.big{flex-direction:column;height:auto;padding:7px 12px;gap:4px;min-width:62px;font-size:11.5px;color:var(--muted)}
.tool.big .ic{font-size:20px;color:var(--ink)}
.tool.big:hover .ic{color:var(--accent)}
.tool.bold{font-weight:800}.tool.italic{font-style:italic}.tool.under{text-decoration:underline}
.tool.strike{text-decoration:line-through}

select.field,input.field{height:32px;border:1px solid var(--line-2);border-radius:7px;background:#fff;
  color:var(--ink);font:500 13px var(--ui);padding:0 8px;cursor:pointer;transition:var(--t)}
select.field:hover{border-color:var(--accent)}
select.field:focus,input.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}
.field.font{width:150px}.field.size{width:62px;text-align:center}

.color-tool{position:relative;display:inline-flex;flex-direction:column;align-items:center;
  width:32px;height:32px;border-radius:7px;cursor:pointer;justify-content:center;gap:1px;border:1px solid transparent}
.color-tool:hover{background:var(--paper);border-color:var(--line)}
.color-tool .ic{font-size:14px;line-height:1}
.color-tool .bar{width:18px;height:3px;border-radius:2px}
.color-tool input[type=color]{position:absolute;inset:0;opacity:0;cursor:pointer}

.styles-gallery{display:flex;gap:6px}
.style-chip{border:1px solid var(--line);border-radius:8px;background:#fff;padding:5px 10px;cursor:pointer;
  min-width:74px;text-align:left;transition:var(--t)}
.style-chip:hover{border-color:var(--accent);box-shadow:var(--sh-1)}
.style-chip .lbl{font-size:10.5px;color:var(--faint);display:block}
.style-chip .pv{color:var(--ink);line-height:1.1;white-space:nowrap}
.style-chip[data-style=h1] .pv{font:700 16px/1 Georgia,serif}
.style-chip[data-style=h2] .pv{font:700 14px/1 Georgia,serif}
.style-chip[data-style=h3] .pv{font:600 13px/1 Georgia,serif}
.style-chip[data-style=p] .pv{font:400 13px/1 var(--ui)}
.style-chip[data-style=blockquote] .pv{font:italic 13px/1 Georgia,serif;color:var(--muted)}

/* ---------- Workspace ---------- */
.workspace{flex:1;min-height:0;display:grid;grid-template-columns:248px 1fr 340px}
.workspace.no-left{grid-template-columns:0 1fr 340px}
.workspace.no-ai{grid-template-columns:248px 1fr 0}
.rail{background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;min-width:0}
.rail-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px}
.rail-h b{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}
.outline{padding:0 10px 14px}
.outline a{display:block;padding:7px 10px;border-radius:7px;color:var(--muted);font-size:13.5px;
  cursor:pointer;text-decoration:none;border-left:2px solid transparent;transition:var(--t)}
.outline a:hover{background:var(--paper);color:var(--ink)}
.outline a.lvl2{padding-left:22px;font-size:13px}
.outline a.lvl3{padding-left:34px;font-size:12.5px}
.outline a.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-weak-2)}
.outline .empty{padding:10px;color:var(--faint);font-size:13px}

/* canvas */
.canvas{background:var(--canvas);overflow:auto;padding:30px 0 80px;position:relative}
.canvas::-webkit-scrollbar{width:12px}.canvas::-webkit-scrollbar-thumb{background:#cbc8bd;border-radius:8px;border:3px solid var(--canvas)}
.page{width:794px;min-height:1123px;margin:0 auto;background:#fff;box-shadow:var(--sh-3);
  border-radius:3px;padding:84px 96px;transform-origin:top center}
.page:focus{outline:none}
.page,.page *{font-variant-ligatures:common-ligatures}
.page{font:16px/1.75 Georgia,'Times New Roman',serif;color:#20242c;counter-reset:none}
.page h1{font:700 30px/1.25 Georgia,serif;margin:.2em 0 .5em}
.page h2{font:700 23px/1.3 Georgia,serif;margin:1em 0 .4em}
.page h3{font:600 19px/1.35 Georgia,serif;margin:.9em 0 .3em}
.page p{margin:0 0 .9em}
.page blockquote{margin:1em 0;padding:.4em 1.1em;border-left:3px solid var(--accent);
  color:#555;font-style:italic;background:var(--accent-weak-2)}
.page ul,.page ol{margin:0 0 .9em 1.4em;padding:0}
.page li{margin:.2em 0}
.page a{color:var(--accent)}
.page table{border-collapse:collapse;margin:1em 0}
.page td,.page th{border:1px solid #cdd2da;padding:6px 10px}

/* AI panel */
.ai{background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.ai-h{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.ai-h .spark{width:30px;height:30px;border-radius:8px;background:var(--accent-weak);color:var(--accent);
  display:grid;place-items:center;font-size:16px}
.ai-h b{font-size:14px}
.ai-h .note{font-size:11px;color:var(--faint)}
.ai-quick{display:flex;flex-wrap:wrap;gap:7px;padding:12px 14px;border-bottom:1px solid var(--line)}
.chip{border:1px solid var(--line-2);background:#fff;border-radius:var(--r-pill);padding:7px 12px;
  font-size:12.5px;color:var(--muted);cursor:pointer;transition:var(--t)}
.chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-weak-2)}
.ai-thread{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.msg{padding:11px 13px;border-radius:11px;font-size:13.5px;line-height:1.55;max-width:94%}
.msg.bot{align-self:flex-start;background:var(--paper);border:1px solid var(--line)}
.msg.user{align-self:flex-end;background:var(--accent-weak);border:1px solid transparent}
.ai-input{padding:12px 14px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:flex-end}
.ai-input textarea{flex:1;resize:none;max-height:120px;min-height:42px;border:1px solid var(--line-2);
  border-radius:10px;padding:10px 12px;font:14px var(--ui);color:var(--ink)}
.ai-input textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}
.ai-input .send{width:42px;height:42px;border-radius:10px;border:0;background:var(--accent);color:#fff;
  font-size:17px;cursor:pointer;flex:none}
.ai-input .send:hover{background:var(--accent-press)}

/* ---------- Status bar ---------- */
.statusbar{height:30px;flex:none;display:flex;align-items:center;gap:18px;padding:0 16px;
  background:var(--surface);border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.statusbar .sb-spacer{margin-left:auto}
.statusbar .zoom{display:flex;align-items:center;gap:8px}
.statusbar .zoom input{width:120px;accent-color:var(--accent)}
.statusbar b{color:var(--ink);font-weight:600}

/* ---------- document modes & inserts ---------- */
.page.read{font-size:18px;line-height:2;padding-left:140px;padding-right:140px}
.page.web{width:100%!important;min-height:auto;border-radius:0;box-shadow:none;padding:40px 8vw}
.page.line-numbers{counter-reset:ln}
.page.line-numbers p,.page.line-numbers h1,.page.line-numbers h2,.page.line-numbers h3,.page.line-numbers li{position:relative}
.page.line-numbers p::before,.page.line-numbers h2::before,.page.line-numbers h3::before{
  counter-increment:ln;content:counter(ln);position:absolute;left:-46px;width:32px;text-align:right;
  font:12px var(--ui);color:var(--faint)}
.page .cmt{background:#FFF1B8;border-bottom:2px solid var(--amber);cursor:help;border-radius:2px}
.page .pagebreak{height:0;border-top:1px dashed #c4c0b4;margin:26px -96px;position:relative}
.page .pagebreak::after{content:"Разрыв страницы";position:absolute;right:96px;top:-9px;background:#fff;
  padding:0 8px;font:11px var(--ui);color:var(--faint)}
@media print{
  .titlebar,.tabs,.ribbon,.rail,.ai,.statusbar{display:none!important}
  .workspace{grid-template-columns:1fr!important}
  .canvas{overflow:visible;padding:0;background:#fff}
  .page{box-shadow:none;margin:0}
  .page .pagebreak{page-break-after:always;border:0}
}

/* ---------- find & replace bar ---------- */
.fr-bar{position:absolute;top:14px;right:24px;z-index:40;background:var(--surface);border:1px solid var(--line-2);
  border-radius:12px;box-shadow:var(--sh-3);padding:12px;display:none;width:330px}
.fr-bar.open{display:block;animation:frIn .16s var(--t)}
@keyframes frIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.fr-bar .fr-row{display:flex;gap:6px;align-items:center;margin-bottom:8px}
.fr-bar .fr-row:last-child{margin-bottom:0}
.fr-bar input{flex:1;height:34px;border:1px solid var(--line-2);border-radius:8px;padding:0 10px;font:14px var(--ui)}
.fr-bar input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}
.fr-bar .fr-count{font-size:12px;color:var(--muted);min-width:54px;text-align:center}
.fr-bar .fr-x{margin-left:auto}
.page .fr-hit{background:#FFE08A;border-radius:2px}
.page .fr-hit.cur{background:#F4A52A;box-shadow:0 0 0 1px #C9892B}

/* ---------- templates modal ---------- */
.tpl-ov{position:fixed;inset:0;z-index:300;display:none;place-items:center;background:rgba(29,35,43,.45);backdrop-filter:blur(6px);padding:24px}
.tpl-ov.open{display:grid}
.tpl-card{background:var(--surface);border-radius:16px;box-shadow:var(--sh-3);width:760px;max-width:96vw;max-height:88vh;overflow:auto;padding:26px 28px}
.tpl-card h3{margin:0 0 4px;font:700 20px var(--ui)}
.tpl-card .sub{color:var(--muted);font-size:13.5px;margin:0 0 18px}
.tpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:680px){.tpl-grid{grid-template-columns:1fr 1fr}}
.tpl{border:1px solid var(--line);border-radius:12px;background:var(--paper);cursor:pointer;overflow:hidden;transition:var(--t);text-align:left}
.tpl:hover{border-color:var(--accent);box-shadow:var(--sh-2);transform:translateY(-3px)}
.tpl .thumb{height:96px;background:linear-gradient(160deg,#fff,#EFEEE8);border-bottom:1px solid var(--line);
  display:grid;place-items:center;font-size:30px;color:var(--accent)}
.tpl .meta{padding:10px 12px}
.tpl .meta b{display:block;font-size:14px}
.tpl .meta span{font-size:12px;color:var(--muted)}
.tpl-x{float:right;border:0;background:transparent;font-size:18px;color:var(--muted);cursor:pointer}

/* ---------- images ---------- */
.page img{max-width:100%;height:auto;border-radius:4px;margin:4px 0}
.canvas.drag-over{outline:3px dashed var(--accent);outline-offset:-12px}

/* ---------- table contextual toolbar ---------- */
.tbl-tools{position:absolute;z-index:45;background:var(--surface);border:1px solid var(--line-2);
  border-radius:10px;box-shadow:var(--sh-2);padding:4px;display:none;gap:2px;flex-wrap:wrap;max-width:340px}
.tbl-tools.open{display:flex}
.tbl-tools button{height:30px;padding:0 9px;border:1px solid transparent;background:transparent;border-radius:7px;
  font:600 12.5px var(--ui);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.tbl-tools button:hover{background:var(--paper);border-color:var(--line)}
.tbl-tools button.del:hover{background:#FBECEA;color:var(--danger);border-color:#F0C9C3}
.tbl-tools .sep{width:1px;align-self:stretch;background:var(--line);margin:2px}
.page table.sel{outline:2px solid var(--accent-weak);outline-offset:2px}

/* ---------- track changes ---------- */
.page ins.trk-ins{text-decoration:underline;color:#157A57;background:rgba(21,122,87,.08)}
.page del.trk-del{text-decoration:line-through;color:#C2483B;background:rgba(194,72,59,.08)}

/* ---------- ruler & grid ---------- */
.canvas.show-ruler{padding-top:54px}
.canvas.show-ruler::before{content:"";position:sticky;top:0;left:0;display:block;height:26px;margin:-24px auto 18px;
  width:794px;max-width:90%;background:
    repeating-linear-gradient(90deg,transparent 0,transparent 37px,#c9c4b6 37px,#c9c4b6 38px);
  border:1px solid var(--line-2);border-radius:4px;background-color:#fff;z-index:2}
.page.show-grid{background-image:
  repeating-linear-gradient(0deg,rgba(21,122,87,.06) 0 1px,transparent 1px 19px),
  repeating-linear-gradient(90deg,rgba(21,122,87,.06) 0 1px,transparent 1px 19px)}

/* ---------- formula / field ---------- */
.page .formula{white-space:nowrap}
@media print{ #doc-toc a{color:#000} .doc-header,.doc-footer{color:#666} }

/* ---------- responsive / mobile ---------- */
@media(max-width:1180px){.workspace{grid-template-columns:0 1fr 0}}
@media(max-width:820px){
  .doc-title input{width:120px}
  .tb-actions #export,.tb-actions #share{display:none}
  .page{width:100%!important;padding:40px 22px!important;border-radius:0}
  .canvas{padding:14px 0 60px}
  .rg-name{display:none}
  .ribbon{min-height:0;padding:6px 8px}
  .rgroup{padding:0 8px}
  .tool.big{flex-direction:row;height:32px;min-width:0;padding:0 8px;font-size:13px}
  .tool.big .ic{font-size:15px}
}
@media(max-width:560px){
  .titlebar{height:auto;flex-wrap:wrap;padding:8px 10px;gap:8px}
  .brand b{font-size:14px}
  .tabs{overflow-x:auto;height:auto}
  .statusbar{font-size:11px;gap:10px;overflow-x:auto}
  .statusbar .zoom{display:none}
}

/* ---------- track changes (исправления) ---------- */
.page ins.trk-ins{ text-decoration:none; color:var(--ac,#157A57); border-bottom:1px solid var(--ac,#157A57); background:color-mix(in srgb,var(--ac,#157A57) 8%,transparent); }
.page del.trk-del{ text-decoration:line-through; color:var(--ac,#B5562E); text-decoration-color:var(--ac,#B5562E); opacity:.85; }
#trk-panel{ position:absolute; top:14px; right:18px; z-index:42; width:300px; max-height:72vh; display:none;
  background:var(--surface); border:1px solid var(--line-2); border-radius:12px; box-shadow:var(--sh-3); overflow:hidden; }
#trk-panel .trk-head{ display:flex; align-items:center; gap:8px; padding:10px 12px; border-bottom:1px solid var(--line); }
#trk-panel .trk-head b{ font-size:13.5px } #trk-panel #trk-count{ color:var(--muted); font-size:12px; margin-right:auto }
#trk-panel .btn.sm{ height:28px; padding:0 9px; font-size:12px }
.trk-list{ overflow:auto; max-height:62vh; padding:6px }
.trk-row{ display:grid; grid-template-columns:18px 1fr auto auto auto; gap:6px; align-items:center; padding:7px 6px; border-bottom:1px solid var(--line); font-size:12.5px }
.trk-row .trk-kind{ color:var(--ac); font-weight:700; text-align:center }
.trk-row .trk-txt{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; cursor:pointer }
.trk-row .trk-auth{ font-size:10.5px; color:var(--ac); max-width:70px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.trk-row .trk-ok,.trk-row .trk-no{ border:0; background:transparent; cursor:pointer; font-size:13px; width:22px; height:22px; border-radius:6px }
.trk-row .trk-ok:hover{ background:#e7f3ee; color:var(--accent) } .trk-row .trk-no:hover{ background:#FBECE9; color:var(--danger) }
.trk-empty{ padding:12px; color:var(--faint); font-size:12.5px; text-align:center }

/* ── Модальное окно (диаграммы/фигуры) ── */
.aris-modal-ov{ position:fixed; inset:0; background:rgba(28,34,42,.42); display:grid; place-items:center; z-index:9000; animation:amfade .14s ease }
@keyframes amfade{ from{opacity:0} to{opacity:1} }
.aris-modal{ background:#fff; border-radius:14px; box-shadow:0 24px 64px rgba(0,0,0,.28); width:440px; max-width:92vw; max-height:90vh; overflow:auto; border:1px solid var(--line,#e6e2d6) }
.aris-modal .am-h{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--line,#eee) }
.aris-modal .am-h b{ font-size:15px; color:var(--ink,#1D232B) }
.aris-modal .am-x{ border:0; background:transparent; cursor:pointer; font-size:15px; color:var(--faint,#8a8478); width:28px; height:28px; border-radius:8px }
.aris-modal .am-x:hover{ background:#f2efe6 }
.aris-modal .am-body{ padding:16px 18px }
.aris-modal .am-foot{ display:flex; justify-content:flex-end; gap:8px; padding:12px 18px; border-top:1px solid var(--line,#eee) }
.aris-modal .md-row{ display:flex; align-items:center; gap:10px; margin-bottom:12px }
.aris-modal .md-row>span{ width:96px; flex:none; font-size:12.5px; color:var(--faint,#6A7280) }
.aris-modal .md-row .field{ flex:1 }
.aris-modal .md-col{ flex-direction:column; align-items:stretch }
.aris-modal .md-col>span{ width:auto; margin-bottom:5px }
.aris-modal .field{ border:1px solid var(--line,#d8d3c5); border-radius:8px; padding:7px 9px; font:inherit; font-size:13px; color:var(--ink,#1D232B); background:#fff }
.aris-shape svg{ overflow:visible } .aris-textbox:focus{ outline:none }
.cmp-doc{ font-size:14px; line-height:1.6; color:var(--ink,#1D232B); white-space:pre-wrap }
.cmp-doc .trk-ins{ color:#157A57; text-decoration:underline; background:#157A5712 }
.cmp-doc .trk-del{ color:#B5562E; text-decoration:line-through; background:#B5562E10 }
/* Mail merge bar */
#merge-bar{ position:fixed; left:50%; bottom:34px; transform:translateX(-50%); z-index:8000; display:flex; align-items:center; gap:8px;
  background:#fff; border:1px solid var(--line,#e6e2d6); box-shadow:0 12px 36px rgba(0,0,0,.18); border-radius:12px; padding:8px 12px; font-size:13px }
#merge-bar b{ color:var(--accent,#157A57) }
.merge-field{ white-space:nowrap }

/* ── Формы / контролы ── */
.form-ctl{ font-family:inherit; font-size:inherit }
.form-text{ display:inline-block; min-width:120px; border-bottom:1.5px solid #157A57; padding:0 4px; outline:none }
.form-text:empty::before{ content:attr(data-ph); color:#aaa }
.form-check{ cursor:pointer; color:#157A57; font-size:1.1em; user-select:none }
.form-select{ border:1px solid #157A57; border-radius:6px; padding:2px 6px; background:#fff; font:inherit; color:var(--ink,#1D232B) }
.form-date{ cursor:pointer; border:1px dashed #157A57; border-radius:6px; padding:1px 6px; color:#157A57; background:#157A570a }
/* ── WordArt ── */
.wordart{ -webkit-box-decoration-break:clone; box-decoration-break:clone }
/* ── SmartArt ── */
.smartart{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:14px 0; padding:6px }
.smartart .sa-box{ flex:1; min-width:90px; background:#157A570f; border:1.5px solid #157A57; border-radius:10px; padding:10px 12px;
  text-align:center; font-size:13.5px; color:var(--ink,#1D232B); outline:none }
.smartart .sa-arrow{ color:#157A57; font-size:20px; font-weight:700; flex:none }
.sa-list{ flex-direction:column; align-items:stretch }
.sa-list .sa-box{ text-align:left; display:flex; align-items:center }
.sa-list .sa-box::before{ content:"●"; color:#157A57; margin-right:8px; font-size:10px }
.sa-cycle .sa-box{ border-radius:50px }
.sa-hier{ flex-direction:column; align-items:center }
.sa-hier .sa-top{ display:flex; justify-content:center; width:100% }
.sa-hier .sa-top .sa-box{ flex:none; min-width:160px; background:#157A571f }
.sa-hier .sa-row{ display:flex; gap:10px; width:100%; justify-content:center; position:relative; margin-top:14px }
.sa-hier .sa-row::before{ content:""; position:absolute; top:-8px; left:25%; right:25%; height:1.5px; background:#157A57 }
.tool.rec-on{ background:#FBECE9!important; color:#B5562E!important; box-shadow:inset 0 0 0 1.5px #B5562E }
