/* Служба ИТ-поддержки. Язык: серая подложка, белые панели с крупным скруглением, капсулы, чёрный + лаймово-зелёный акцент.
   Акцент меняется в одном месте: токены --lime / --green / --green-dark. */
@font-face{font-family:"Golos";font-style:normal;font-weight:400 700;font-display:swap;src:url(/static/golos-cyr.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos";font-style:normal;font-weight:400 700;font-display:swap;src:url(/static/golos-lat.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --canvas:#dde0e4; --bg:#eceef1; --surface:#ffffff; --soft:#f4f5f6; --soft-2:#eceef0;
  --fg:#141414; --muted:#555a62; --faint:#6e737b; --line:#e1e4e8; --edge:#e1e4e8;
  /* рамка полей ввода не ниже 3:1 и к белому, и к серому фону (WCAG 1.4.11); кнопки-капсулы на белом: заливка + контур */
  --field-edge:#82878f; --pill:#eff1f3; --pill-hover:#e6e9ec; --pill-edge:#d9dde2;
  --lime:#bdf24a; --lime-hover:#aee332; --green:#1d8f52; --green-dark:#0d4a2b;
  --accent:#141414; --accent-hover:#2a2a2a; --on-accent:#fff; --on-accent-muted:rgba(255,255,255,.75); --accent-soft:#eef9d8;
  /* зелёная KPI-карточка: верх градиента не светлее #188449, белая подпись на нём 4,7:1 */
  --hero-from:#188449; --hero-mid:#136f3f; --hero-icon-bg:rgba(255,255,255,.14); --hero-badge-bg:rgba(0,0,0,.22);
  --chart-created:#5468e8; --chart-done:#22a35a;  /* проверены валидатором палитры: различимы при дальтонизме */
  --scrollbar:#cfd3d8; --drop-edge:#cfd3d8; --dot:#d6d9de; --row-hover:#fafafa; --print-edge:#d6d9dd;
  --new:#3b7cf6; --new-bg:#e9f0fe; --work:#e3a008; --work-bg:#fdf4dc; --done:#22a35a; --done-bg:#e3f6ea; --rej:#9aa0a8; --rej-bg:#eff0f2;
  --urgent:#e5483d; --urgent-bg:#fdecea; --urgent-text:#c0352b; --urgent-edge:#f3c4bf;  /* --urgent для точек и иконок, --urgent-text для надписей */
  --shadow:0 1px 2px rgba(20,20,20,.04);
  --shadow-hover:0 6px 16px -6px rgba(20,20,20,.16);
  --shadow-drag:0 18px 36px -10px rgba(20,20,20,.35);
  --scrim:rgba(20,20,20,.22);
  --focus-halo:0 0 0 3px rgba(20,20,20,.06);
  --ring:0 0 0 1px var(--edge);  /* контур белых блоков: отделяет их от серого фона даже на бледном мониторе */
  --shadow-lg:0 20px 48px -12px rgba(20,20,20,.22);
  --font:"Golos","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --mono:"Cascadia Mono",Consolas,"Courier New",monospace;
  /* шкала размеров: шрифты, высоты элементов, иконки, скругления. Других значений в стилях быть не должно */
  --fs-2xs:11px; --fs-xs:12px; --fs-sm:13px; --fs-base:14px; --fs-md:15px; --fs-h3:20px; --fs-h2:24px; --fs-h1:28px; --fs-display:32px;
  --h-sm:36px; --h-md:44px; --h-lg:52px;   /* компактные элементы / кнопки, поля, переключатели / главная кнопка формы */
  --ico-sm:18px; --ico:20px; --ico-lg:26px; --av-sm:24px; --av:32px;
  --r-xs:4px; --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:20px; --r-2xl:24px; --r-pill:999px;
  color-scheme:light;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--fg);font:var(--fs-base)/1.5 var(--font);-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;line-height:1.15;text-wrap:balance;letter-spacing:-.02em;font-weight:500}
p{text-wrap:pretty}
a{color:var(--fg)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--green);outline-offset:2px}
[hidden]{display:none!important}
.ico{width:var(--ico);height:var(--ico);flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.muted{color:var(--muted)}
.num{font:500 var(--fs-sm) var(--font);color:var(--muted);font-variant-numeric:tabular-nums}

/* панели */
.panel,.card{background:var(--surface);border-radius:var(--r-2xl);box-shadow:var(--ring)}

/* поля */
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.label{font-size:var(--fs-sm);font-weight:500;color:var(--fg)}
.label .req{color:var(--urgent-text)}
.hint{font-size:var(--fs-xs);color:var(--faint)}
.input,select.input,textarea.input{width:100%;min-width:0;background:var(--surface);border:1px solid var(--field-edge);border-radius:var(--r-md);height:var(--h-md);padding:0 14px;transition-property:border-color,box-shadow,background-color;transition-duration:.15s}
.input::placeholder{color:var(--faint)}
.input:hover{border-color:var(--muted)}
.input:disabled{opacity:.55;cursor:default;border-color:var(--field-edge)}
.input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-halo)}
textarea.input{height:auto;min-height:96px;padding:11px 14px;resize:vertical;line-height:1.5}
/* стрелка рисуется двумя градиентами-штрихами «\» и «/», чтобы цвет брался из токена, а не из картинки */
select.input{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;background-image:linear-gradient(45deg,transparent calc(50% - .8px),var(--fg) calc(50% - .8px),var(--fg) calc(50% + .8px),transparent calc(50% + .8px)),linear-gradient(-45deg,transparent calc(50% - .8px),var(--fg) calc(50% - .8px),var(--fg) calc(50% + .8px),transparent calc(50% + .8px));background-size:7px 7px;background-repeat:no-repeat;background-position:right 21px center,right 15px center}
/* Раскрытый список в стиле интерфейса: Chrome, Яндекс Браузер и Edge умеют оформлять родной select (appearance: base-select).
   Клавиатура, экранные читалки и выбор на телефоне остаются штатными; в остальных браузерах список системный. */
@supports (appearance:base-select){
  select.input,select.input::picker(select){appearance:base-select}
  select.input{display:inline-flex;align-items:center}
  select.input::picker-icon{display:none}  /* стрелка своя, нарисована фоном */
  select.input::picker(select){margin-top:6px;padding:6px;border:1px solid var(--pill-edge);border-radius:var(--r-lg);background:var(--surface);
    box-shadow:var(--shadow-lg);min-width:anchor-size(width);max-height:min(360px,60vh);
    opacity:0;translate:0 -4px;transition:opacity .15s,translate .15s,display .15s allow-discrete,overlay .15s allow-discrete}
  select.input:open::picker(select){opacity:1;translate:0 0}
  @starting-style{select.input:open::picker(select){opacity:0;translate:0 -4px}}
  select.input option{display:flex;align-items:center;gap:10px;min-height:var(--h-sm);padding:0 12px;border-radius:var(--r-md);font-size:var(--fs-base);color:var(--fg);cursor:pointer}
  select.input option:hover,select.input option:focus-visible{background:var(--pill-hover)}
  select.input option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
  select.input option:checked{font-weight:500}
  select.input option::checkmark{order:1;margin-left:auto;color:var(--green)}
}

/* кнопки-капсулы */
.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r-pill);min-height:var(--h-md);padding:0 20px;font-weight:500;font-size:var(--fs-base);cursor:pointer;background:var(--lime);color:var(--fg);transition-property:background-color,border-color,transform;transition-duration:.15s;white-space:nowrap}
.btn:hover{background:var(--lime-hover)}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.btn.dark{background:var(--accent);color:var(--on-accent)}
.btn.dark:hover{background:var(--accent-hover)}
.btn.ghost{background:var(--surface);border-color:var(--pill-edge);color:var(--fg)}
.btn.ghost:hover{border-color:var(--field-edge)}
.btn.soft{background:var(--pill);border-color:var(--pill-edge);color:var(--fg)}
.btn.soft:hover{background:var(--pill-hover)}
.btn.danger{background:var(--surface);color:var(--urgent-text);border-color:var(--urgent-edge)}
.btn.danger:hover{background:var(--urgent-bg)}
.btn.sm{min-height:var(--h-sm);padding:0 14px;font-size:var(--fs-sm)}
.btn .ico{width:var(--ico-sm);height:var(--ico-sm)}
.round{width:var(--h-md);height:var(--h-md);border-radius:50%;display:grid;place-items:center;background:var(--surface);border:0;color:var(--fg);cursor:pointer;position:relative;transition-property:background-color,transform;transition-duration:.15s}
.round:hover{background:var(--soft)}
.round:active{transform:scale(.94)}
.round .ico{width:var(--ico);height:var(--ico)}

/* сегменты-капсулы: активный пункт чёрный и доходит до края капсулы, без внутреннего зазора */
.seg{display:inline-flex;align-self:flex-start;max-width:100%;background:var(--surface);box-shadow:var(--ring);border-radius:var(--r-pill);padding:0;gap:2px;flex-wrap:wrap}
.seg button{border:0;background:none;border-radius:var(--r-pill);min-height:var(--h-md);padding:0 18px;font-size:var(--fs-base);color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition-property:background-color,color;transition-duration:.15s}
.seg button:hover{color:var(--fg)}
.seg button:focus-visible{outline-offset:-2px}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.seg button .ico{width:var(--ico-sm);height:var(--ico-sm)}
/* общая подложка выбранного пункта (lib.js placeThumb): без JS остаётся обычная чёрная кнопка */
.seg,.stbtns{position:relative}
.thumb{position:absolute;left:0;top:0;border-radius:var(--r-pill);background:var(--accent);pointer-events:none}
.has-thumb>button{position:relative;z-index:1;transition-property:color}
.has-thumb>button[aria-pressed="true"]{background:none}
.seg.on-soft{background:var(--pill);box-shadow:inset 0 0 0 1px var(--pill-edge)}

/* статус: точка + текст */
.chip,.st{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);white-space:nowrap;color:var(--fg)}
.chip::before,.st::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c,currentColor)}
.chip.new,.st.new{--c:var(--new)}.chip.work,.st.work{--c:var(--work)}.chip.done,.st.done{--c:var(--done)}.chip.rejected,.st.rejected{--c:var(--rej)}
.chip.urgent{--c:var(--urgent);color:var(--urgent-text)}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:500;padding:2px 8px;border-radius:var(--r-pill);background:var(--soft);color:var(--muted);white-space:nowrap}
.badge.red{background:var(--urgent-bg);color:var(--urgent-text)}

.msg{font-size:var(--fs-sm);color:var(--muted)}
.msg.err{color:var(--urgent-text)}

/* логотип в капсуле */
.logo{display:inline-flex;align-items:center;gap:10px;background:var(--surface);box-shadow:var(--ring);border-radius:var(--r-pill);padding:6px 16px 6px 6px;min-height:var(--h-md);font-weight:600;font-size:var(--fs-md);letter-spacing:-.01em;white-space:nowrap}
.logo-mark,.brand-mark{width:var(--av);height:var(--av);border-radius:50%;background:linear-gradient(140deg,var(--green),var(--green-dark));color:var(--lime);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;flex:none}
.brand{display:flex;align-items:center;gap:10px;font-weight:600}
.brand small{display:block;font-weight:400;font-size:var(--fs-xs);color:var(--muted)}

/* аватар */
.av{width:var(--av);height:var(--av);border-radius:50%;background:var(--accent-soft);color:var(--green-dark);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:600;flex:none}
.av.sm{width:var(--av-sm);height:var(--av-sm);font-size:var(--fs-2xs)}

/* лента событий */
.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.timeline li{position:relative;padding:0 0 16px 22px;font-size:var(--fs-base)}
.timeline li::before{content:"";position:absolute;left:4px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--dot);box-shadow:0 0 0 3px var(--surface)}
.timeline li::after{content:"";position:absolute;left:7.5px;top:18px;bottom:0;width:1px;background:var(--line)}
.timeline li:last-child::after{display:none}
.timeline li.reply::before{background:var(--green)}
.timeline li.status::before{background:var(--work)}
.timeline .t{font-size:var(--fs-xs);color:var(--faint)}
.timeline .bubble{margin-top:5px;background:var(--soft);border-radius:var(--r-md);padding:9px 13px;white-space:pre-wrap;overflow-wrap:anywhere}
.timeline li.reply .bubble{background:var(--accent-soft)}

@media (prefers-reduced-motion:reduce){*,select.input::picker(select){transition:none!important;animation:none!important}}

/* на телефоне шрифт полей не меньше 16px: иначе Safari на iPhone увеличивает страницу при вводе */
@media (max-width:900px){.input{font-size:max(16px,var(--fs-base))}}
