
@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/d873207e29bca5901fcb.woff2) format('woff2'),
       url(/assets/fonts/d873207e29bca5901fcb.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/393259b936ba314be8a9.woff2) format('woff2'),
       url(/assets/fonts/393259b936ba314be8a9.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/99a6754d6cc35c0dd693.woff2) format('woff2'),
       url(/assets/fonts/99a6754d6cc35c0dd693.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/db932b3668b6188413fc.woff2) format('woff2'),
       url(/assets/fonts/db932b3668b6188413fc.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/e5be0a7ef2eb97414937.woff2) format('woff2'),
       url(/assets/fonts/e5be0a7ef2eb97414937.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/f4365d9874c1b64026ac.woff2) format('woff2'),
       url(/assets/fonts/f4365d9874c1b64026ac.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/4fc14a73ca53ba9d32fd.woff2) format('woff2'),
       url(/assets/fonts/4fc14a73ca53ba9d32fd.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/754dfc9d50cf7aabfb6b.woff2) format('woff2'),
       url(/assets/fonts/754dfc9d50cf7aabfb6b.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/a13d9b41b0a471ce58f0.woff2) format('woff2'),
       url(/assets/fonts/a13d9b41b0a471ce58f0.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/f433e5d333be1128d8ec.woff2) format('woff2'),
       url(/assets/fonts/f433e5d333be1128d8ec.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/6bad1a774228464cc88b.woff2) format('woff2'),
       url(/assets/fonts/6bad1a774228464cc88b.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/b9584e099e0e7f1e1e91.woff2) format('woff2'),
       url(/assets/fonts/b9584e099e0e7f1e1e91.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/b8f802f05b322a734580.woff2) format('woff2'),
       url(/assets/fonts/b8f802f05b322a734580.ttf) format('truetype');

unicode-range:U+100-3FF,U+530-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2C00-10FFFF;}



  :root{
    --bg:#F2F5F9;
    --surface:#FFFFFF;
    --surface-2:#F4F7FB;
    --ink:#15222F;
    --ink-soft:rgba(21,34,47,.72);
    --ink-faint:rgba(21,34,47,.5);
    --line:#E1E7F0;
    --accent-it:#1F6FEB;
    --accent-it-ink:#0B3E96;
    --accent-it-tint:rgba(31,111,235,.10);
    --accent-school:#0F9D6B;
    --accent-school-ink:#0A6B49;
    --accent-school-tint:rgba(15,157,107,.10);
    --accent-yellow:#B9790A;
    --accent-yellow-ink:#7A4F04;
    --accent-purple:#5B4FCF;
    --accent-purple-ink:#372E96;
    --shadow:0 16px 36px -22px rgba(21,34,47,.16);
    --shadow-sm:0 8px 18px -12px rgba(21,34,47,.14);
    --radius:14px;
    --glass-blur:0px;
    color-scheme: light;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  html, body{overflow-x:clip; max-width:100%;} /* страховка от случайного горизонтального скролла из-за любого элемента шире экрана */
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
  }
  body{
    margin:0;
    min-height:100vh;
    background:var(--bg);
    color:var(--ink);
    font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    padding-top:env(safe-area-inset-top, 0px);
    padding-bottom:env(safe-area-inset-bottom, 0px);
    padding-left:env(safe-area-inset-left, 0px);
    padding-right:env(safe-area-inset-right, 0px);
    position:relative;
  }
  body::before{
    content:none; position:fixed; inset:0; z-index:-2;
    display:none;
    background-image:none;
    background-size:cover; background-position:center; background-repeat:no-repeat; background-attachment:fixed;
    filter:blur(16px) brightness(.5) saturate(.95);
    transform:scale(1.1);
  }
  body::after{
    content:""; position:fixed; inset:0; z-index:-1;
    background:
      radial-gradient(1200px 800px at 50% -10%, rgba(31,111,235,.05), rgba(255,255,255,0) 60%);
  }
  @media (prefers-reduced-motion: reduce){
    body::before{background-attachment:scroll;}
  }
  img{max-width:100%;}
  h1,h2,h3{
    font-family:'Baloo 2','Manrope',sans-serif;
    font-weight:700;
    text-wrap:balance;
    margin:0;
    color:var(--ink);
  }
  .script{font-family:'Caveat',cursive; font-weight:700; color:var(--accent-school);}
  p{margin:0;}
  a{color:inherit;}
  .wrap{
    max-width:1720px;
    margin:0 auto;
    padding-inline:clamp(20px, 3vw, 56px);
  }
  @media (min-width:1600px){
    .wrap{max-width:2000px;}
  }
  @media (min-width:2200px){
    .wrap{max-width:calc(100vw - 6cm);}
  }
  .eyebrow{
    font-family:'IBM Plex Mono',ui-monospace,monospace;
    font-size:12.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--ink-faint);
    font-weight:500;
  }
  .eyebrow.it{color:var(--accent-it);}
  .eyebrow.school{color:var(--ink-faint);}
  .mono{font-family:'IBM Plex Mono',ui-monospace,monospace;}

  /* ---------- Header ---------- */
  header.site{
    position:sticky; top:0; z-index:40;
    background:transparent;
    border-bottom:1px solid transparent;
    transition:background .25s ease, backdrop-filter .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
  header.site.scrolled{
    background:rgba(255,255,255,.62);
    backdrop-filter:blur(14px) saturate(140%);
    -webkit-backdrop-filter:blur(14px) saturate(140%);
    border-bottom:1px solid var(--line);
    box-shadow:0 4px 24px rgba(20,30,25,.06);
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between;
    gap:16px; padding-block:14px;
  }
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family:'Baloo 2',sans-serif; font-weight:700; font-size:18px;
    text-decoration:none;
    white-space:nowrap;
  }
  .logo-mark{
    width:36px; height:36px; border-radius:9px;
    background:linear-gradient(135deg, var(--accent-it) 0%, var(--accent-it) 48%, var(--accent-school) 52%, var(--accent-school) 100%);
    color:#fff; display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:13px; letter-spacing:-.02em;
    flex:none;
  }
  nav.links{
    display:flex; align-items:center; gap:28px;
  }
  nav.links a{
    text-decoration:none; font-size:14.5px; font-weight:600; color:var(--ink-soft);
  }
  nav.links a:hover{color:var(--ink);}
  .nav-actions{display:flex; align-items:center; gap:10px; flex:none;}
  .nav-logged-in{background:var(--accent-it-tint) !important; border-color:var(--accent-it) !important; color:var(--accent-it-ink) !important; display:inline-flex; align-items:center; gap:7px; max-width:130px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .nav-logged-in-dot{width:8px; height:8px; border-radius:50%; background:#1DB954; flex:none; box-shadow:0 0 0 2px rgba(29,185,84,.25);}
  @media (max-width:480px){
    .logo-text{display:none;}
    .nav-actions #open-cabinet-1{padding-left:14px; padding-right:14px;}
  }
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:11px 20px; border-radius:999px; border:1px solid transparent;
    font-weight:700; font-size:14.5px; cursor:pointer; text-decoration:none;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
    font-family:'Manrope',sans-serif;
  }
  .btn:active{transform:translateY(1px);}
  .btn-it{background:var(--accent-it); color:#fff; box-shadow:var(--shadow-sm);}
  .btn-it:hover{box-shadow:0 12px 26px -12px color-mix(in srgb, var(--accent-it) 60%, transparent);}
  .btn-school{background:var(--accent-school); color:#fff; box-shadow:var(--shadow-sm);}
  .btn-school:hover{box-shadow:0 12px 26px -12px color-mix(in srgb, var(--accent-school) 60%, transparent);}
  .btn-ghost{background:transparent; color:var(--ink); border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--ink-faint);}
  .btn-sm{padding:8px 16px; font-size:13.5px;}
  .btn:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, button:focus-visible{
    outline:2px solid var(--accent-it); outline-offset:2px;
  }

  .burger{
    display:none; width:40px; height:40px; border-radius:10px; border:1px solid var(--line);
    background:var(--surface); align-items:center; justify-content:center; cursor:pointer;
  }
  .burger span, .burger span::before, .burger span::after{
    content:""; display:block; width:16px; height:2px; background:var(--ink); position:relative;
    transition:transform .2s ease, opacity .2s ease;
  }
  .burger span::before{position:absolute; top:-5px;}
  .burger span::after{position:absolute; top:5px;}

  /* ---------- Hero ---------- */
  .hero{padding-block:64px 56px; position:relative; overflow:hidden;}
  .hero-grid{
    display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;
  }
  .hero h1{
    font-size:clamp(30px, 4.4vw, 58px); font-weight:500; line-height:1.1; margin-top:14px;
  }
  .hero p.lead{
    margin-top:20px; font-size:17px; color:var(--ink-soft); max-width:46ch;
  }
  .hero-ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px;}
  .hero-secondary{margin-top:16px; font-size:13.5px;}
  .hero-secondary a{color:var(--ink-soft); font-weight:600; text-decoration:none; border-bottom:1px dashed var(--line);}
  .hero-secondary a:hover{color:var(--ink); border-color:var(--ink-faint);}
  .stat-row{display:flex; flex-wrap:wrap; gap:28px; margin-top:40px;}
  .stat{display:flex; flex-direction:column; gap:2px;}
  .stat .n{font-family:'IBM Plex Mono',monospace; font-size:22px; font-weight:600; font-variant-numeric:tabular-nums;}
  .stat .l{font-size:12.5px; color:var(--ink-faint);}

  .hero-art{
    position:relative; aspect-ratio:1/1; max-width:420px; margin-inline:auto; width:100%; overflow:visible;
    transition:transform .18s ease-out;
  }
  @media (min-width:901px){
    .hero-art{max-width:480px;}
  }
  @media (min-width:1400px){
    .hero-art{max-width:560px;}
    .hero-grid{gap:80px;}
  }
  .hero-art svg{width:100%; height:100%; display:block;}
  .hero-chip{
    position:absolute; background:var(--surface); border:1px solid var(--line); border-radius:12px;
    padding:10px 14px; box-shadow:var(--shadow-sm); font-size:12.5px; font-weight:700;
    display:flex; align-items:center; gap:8px;
  }
  .hero-chip .dot{width:8px; height:8px; border-radius:50%; flex:none;}
  .hero-chip.muted{box-shadow:none; border-style:dashed; color:var(--ink-soft); padding:7px 12px; font-size:11.5px;}
  .hero-chip.muted .dot{width:6px; height:6px;}
  .chip-1{top:6%; left:-6%;}
  .chip-2{bottom:10%; right:-8%;}

  /* ---------- Section shells ---------- */
  section{padding-block:76px;}
  #it-services, #why-us, #contact, #school{position:relative; overflow:hidden;}
  .section-head{
    display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:40px; flex-wrap:wrap;
  }
  .section-head h2{font-size:clamp(24px,3vw,34px); font-weight:500; margin-top:10px; max-width:36ch;}
  .section-head p{color:var(--ink-soft); max-width:44ch; font-size:15.5px;}

  /* ---------- About strip ---------- */
  .about{padding-block:48px; position:relative; overflow:hidden;}
  .about-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; position:relative; z-index:1;}
  .quote-mark{
    position:absolute; left:-2%; top:-14%; font-family:'Baloo 2',sans-serif; font-size:260px; font-weight:700;
    color:var(--accent-it); opacity:.12; line-height:1; pointer-events:none; z-index:0;
  }
  .about-quote{font-family:'Caveat',cursive; font-size:32px; font-weight:700; line-height:1.3; color:var(--accent-school-ink);}
  .founder-avatar{transform:rotate(-6deg);}
  .founder-row{display:flex; align-items:center; gap:12px; margin-top:20px;}
  .founder-avatar{
    width:42px; height:42px; border-radius:50%; flex:none;
    background:linear-gradient(135deg,var(--accent-it),var(--accent-school));
    display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-family:'IBM Plex Mono',monospace; font-size:13px;
  }
  .founder-name{font-weight:700; font-size:14.5px;}
  .founder-role{font-size:13px; color:var(--ink-faint);}
  .about-points{display:grid; gap:18px;}
  .about-point{display:flex; gap:14px; align-items:flex-start;}
  .about-point .num{
    font-family:'IBM Plex Mono',monospace; color:var(--accent-it-ink); font-size:12px; font-weight:700;
    width:26px; height:26px; border-radius:50%; background:var(--accent-it-tint); flex:none;
    display:flex; align-items:center; justify-content:center; margin-top:1px;
  }
  .about-point:nth-child(odd) .num{transform:rotate(-8deg);}
  .about-point:nth-child(even) .num{transform:rotate(8deg); background:var(--accent-school-tint); color:var(--accent-school-ink);}
  .about-point h4{font-size:15.5px; margin:0 0 4px; font-weight:700;}
  .about-point p{font-size:14px; color:var(--ink-soft);}


  /* ---------- Glass surfaces (3D-over-photo theme) ---------- */
  .school-panel, .cabinet-preview, .compare-scroll, .hero-chip, .burger, .float-badge,
  dialog.cabinet-modal, .track-card, .school-panel-quote{
    backdrop-filter:blur(var(--glass-blur)) saturate(160%);
    -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);
  }
  .school-panel, .cabinet-preview, .compare-scroll{
    box-shadow:0 22px 46px -24px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.2);
  }

  /* ---------- Card grids ---------- */
  .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
  .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
  @media (min-width:1400px){
    .grid-4{gap:24px;}
    .grid-3{gap:26px;}
    .grid-2{gap:26px;}
    .service-detail-grid{gap:26px;}
  }

  .card{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
    padding:24px; display:flex; flex-direction:column; gap:12px;
    backdrop-filter:blur(var(--glass-blur)) saturate(160%);
    -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);
    box-shadow:0 18px 40px -22px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.22);
  }
  .icon{
    width:40px; height:40px; border-radius:12px; background:var(--accent-it-tint); color:var(--accent-it-ink);
    display:flex; align-items:center; justify-content:center; flex:none; font-size:18px;
    transition:transform .25s cubic-bezier(.34,1.56,.64,1);
  }
  .card:hover .icon{transform:rotate(-8deg) scale(1.08);}
  .icon.pink{background:var(--accent-school-tint); color:var(--accent-school-ink);}
  .icon.yellow{background:color-mix(in srgb, var(--accent-yellow) 30%, var(--surface)); color:var(--accent-yellow-ink);}
  .icon.purple{background:color-mix(in srgb, var(--accent-purple) 20%, var(--surface)); color:var(--accent-purple-ink);}
  .service-card h3{font-size:16.5px; font-weight:700; font-family:'Manrope',sans-serif;}
  .service-card p{font-size:13.8px; color:var(--ink-soft);}

  .process-row{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:72px; position:relative; align-items:start;}
  .process-step{
    padding:22px 18px 20px; position:relative; border-radius:18px; border:1px solid transparent;
    transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease;
  }
  .process-step:hover{transform:translateY(-8px); box-shadow:var(--shadow);}
  .process-step:nth-child(1){background:var(--accent-it-tint);}
  .process-step:nth-child(2){background:color-mix(in srgb, var(--accent-purple) 16%, var(--surface));}
  .process-step:nth-child(3){background:var(--accent-school-tint);}
  .process-step:nth-child(4){background:color-mix(in srgb, var(--accent-yellow) 26%, var(--surface));}
  .process-step:not(:last-child)::after{
    content:"";display:inline-block;width:1em;height:1em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14m-6-6%206%206-6%206%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14m-6-6%206%206-6%206%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; position:absolute; top:26px; right:-19px; font-size:15px; font-weight:700;
    color:var(--ink-faint); z-index:2;
  }
  .process-step .num{
    display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:9px;
    background:var(--surface); color:var(--accent-it-ink); box-shadow:var(--shadow-sm);
    font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:12.5px;
    transition:transform .3s cubic-bezier(.34,1.56,.64,1);
  }
  .process-step:hover .num{transform:rotate(-10deg) scale(1.12);}
  .process-step h4{font-size:15px; font-weight:700; margin:12px 0 6px;}
  .process-step p{font-size:13.5px; color:var(--ink-soft);}

  /* ---------- School (secondary teaser) ---------- */
  #school{padding-block:56px;}
  .school-panel{
    display:grid; grid-template-columns:1.3fr 1fr; gap:40px;
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:32px;
  }
  .school-panel h3{font-size:clamp(19px,2.2vw,24px); font-weight:600; margin-top:10px;}
  .school-panel-text > p{color:var(--ink-soft); font-size:14.5px; margin-top:12px; max-width:52ch;}
  .school-chip-row{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;}
  .school-chip{
    font-family:'IBM Plex Mono',monospace; font-size:11.5px; font-weight:600; padding:6px 12px;
    border-radius:999px; background:var(--bg); border:1px solid var(--line); color:var(--ink-soft);
  }
  .school-panel-quote{
    background:var(--accent-school-tint); border-radius:12px; padding:20px;
    display:flex; flex-direction:column; justify-content:center; gap:10px;
  }
  .school-panel-quote .q{font-family:'Caveat',cursive; font-size:20px; font-weight:700; line-height:1.4;}
  .track-row{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-bottom:28px;}
  .track-card{
    background:var(--accent-school-tint); border:1px solid color-mix(in srgb, var(--accent-school) 30%, var(--line));
    border-radius:var(--radius); padding:26px;
  }
  .track-card .badge{
    display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:11.5px; font-weight:600;
    color:var(--accent-school-ink); background:var(--surface); border-radius:999px; padding:4px 10px; margin-bottom:12px;
  }
  .track-card h3{font-size:19px; font-weight:600;}
  .track-card p{font-size:14px; color:var(--ink-soft); margin-top:8px;}

  .course-card{position:relative;}
  .course-top{display:flex; justify-content:space-between; align-items:flex-start; gap:10px;}
  .level-pill{
    font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:600; padding:4px 9px; border-radius:999px;
    background:var(--accent-school-tint); color:var(--accent-school-ink); white-space:nowrap;
  }
  .course-card h3{font-size:16.5px; font-weight:700; font-family:'Manrope',sans-serif;}
  .course-card p.desc{font-size:13.8px; color:var(--ink-soft);}
  .course-meta{display:flex; flex-wrap:wrap; gap:10px 16px; font-size:12.5px; color:var(--ink-faint); font-family:'IBM Plex Mono',monospace;}
  .course-foot{display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:6px;}
  .price{font-weight:700; font-size:15px;}

  /* ---------- Cabinet ---------- */
  .cabinet-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  .cabinet-features{display:grid; gap:14px; margin-top:24px;}
  .cabinet-feature{display:flex; gap:12px; align-items:flex-start; font-size:14.5px;}
  .cabinet-feature .tick{
    width:20px; height:20px; border-radius:50%; background:var(--accent-it-tint); color:var(--accent-it-ink);
    display:flex; align-items:center; justify-content:center; flex:none; font-size:12px; margin-top:1px;
  }
  .cabinet-preview{
    border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:var(--shadow); background:var(--surface);
  }
  .cabinet-preview-bar{
    display:flex; align-items:center; gap:6px; padding:10px 14px; border-bottom:1px solid var(--line); background:var(--surface-2);
  }
  .cabinet-preview-img{display:block;width:100%;height:auto;aspect-ratio:1265/720;object-fit:cover}
  .cabinet-preview-bar span{width:9px; height:9px; border-radius:50%; background:var(--line);}
  .cabinet-preview-url{
    margin-left:8px; font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-faint);
    background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:3px 10px; flex:1;
  }
  .cabinet-body{display:grid; grid-template-columns:120px 1fr; min-height:260px;}
  .cabinet-side{border-right:1px solid var(--line); padding:16px 10px; display:flex; flex-direction:column; gap:4px; background:var(--surface-2);}
  .cabinet-side a{
    font-size:12.5px; font-weight:600; color:var(--ink-soft); padding:8px 10px; border-radius:8px; text-decoration:none;
  }
  .cabinet-side a.active{background:var(--accent-it-tint); color:var(--accent-it-ink);}
  .cabinet-main{padding:18px;}
  .cabinet-main .hi{font-size:13px; color:var(--ink-faint); margin-bottom:12px;}
  .mini-card{border:1px solid var(--line); border-radius:10px; padding:12px 14px; margin-bottom:10px;}
  .mini-card .top{display:flex; justify-content:space-between; font-size:12.5px; font-weight:700; margin-bottom:8px;}
  .bar-track{height:6px; border-radius:99px; background:var(--line); overflow:hidden;}
  .bar-fill{height:100%; border-radius:99px;}
  .mini-doc{display:flex; justify-content:space-between; font-size:11.5px; color:var(--ink-soft); padding:6px 0; border-top:1px dashed var(--line);}

  /* ---------- Cases ---------- */
  .case-card h3{font-size:16px; font-weight:700; font-family:'Manrope',sans-serif;}
  .case-line{display:flex; gap:8px; font-size:13.5px;}
  .case-line b{font-weight:700; flex:none; color:var(--ink-faint); font-size:11.5px; text-transform:uppercase; font-family:'IBM Plex Mono',monospace; padding-top:2px;}
  .case-result{
    margin-top:auto; font-weight:700; font-size:14px; color:var(--accent-it-ink);
    background:var(--accent-it-tint); border-radius:9px; padding:8px 12px;
  }
  .case-thumb{
    margin:-24px -24px 4px; border-radius:var(--radius) var(--radius) 0 0; overflow:hidden;
    background:var(--surface-2); border-bottom:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; aspect-ratio:16/10.5;
  }
  .case-thumb img{
    width:100%; height:100%; object-fit:contain; display:block;
    transition:transform .4s cubic-bezier(.22,1,.36,1);
  }
  .case-card:hover .case-thumb img{transform:scale(1.03);}
  .case-pile{
    position:relative; margin:-24px -24px 4px; border-radius:var(--radius) var(--radius) 0 0; overflow:hidden;
    background:var(--surface-2); border-bottom:1px solid var(--line); aspect-ratio:16/10.5;
  }
  .case-pile-photo{
    position:absolute; top:50%; left:50%; width:60%; border:5px solid #fff; border-radius:4px;
    box-shadow:0 12px 22px -8px rgba(0,0,0,.5); transition:transform .45s cubic-bezier(.22,1,.36,1);
  }
  .case-pile-photo img{width:100%; height:auto; display:block; border-radius:1px;}
  .case-pile-photo:nth-child(1){transform:translate(-84%,-38%) rotate(-10deg); z-index:1;}
  .case-pile-photo:nth-child(2){transform:translate(-16%,-64%) rotate(8deg); z-index:2;}
  .case-pile-photo:nth-child(3){transform:translate(-50%,-50%) rotate(-2deg) scale(1.05); z-index:3; width:64%;}
  .case-card:hover .case-pile-photo:nth-child(1){transform:translate(-98%,-42%) rotate(-14deg);}
  .case-card:hover .case-pile-photo:nth-child(2){transform:translate(-4%,-70%) rotate(12deg);}
  .case-card:hover .case-pile-photo:nth-child(3){transform:translate(-50%,-50%) rotate(-3deg) scale(1.08);}
  .case-link{
    display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700;
    color:var(--ink-faint); text-decoration:none; cursor:default;
  }

  /* ---------- Testimonials ---------- */
  #testimonials{}
  .quote-card p.q{font-family:'Caveat',cursive; font-size:22px; font-weight:700; line-height:1.4;}
  .quote-who{display:flex; align-items:center; gap:10px; margin-top:6px;}
  .quote-avatar{width:34px; height:34px; border-radius:50%; background:var(--line); flex:none; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:var(--ink-soft);}
  .quote-name{font-size:13.5px; font-weight:700;}
  .quote-role{font-size:12px; color:var(--ink-faint);}

  /* ---------- FAQ ---------- */
  .faq-list{max-width:760px; margin:0 auto;}
  details{border-bottom:1px solid var(--line); padding-block:18px;}
  details summary{
    cursor:pointer; font-weight:700; font-size:15.5px; list-style:none; display:flex; justify-content:space-between; gap:16px;
  }
  details summary::-webkit-details-marker{display:none;}
  details summary::after{
    content:""; font-family:'IBM Plex Mono',monospace; color:var(--accent-it); flex:none;
    display:inline-flex; align-items:center; justify-content:center;
    width:24px; height:24px; border-radius:50%; background:var(--accent-it-tint);
    transition:transform .3s cubic-bezier(.34,1.56,.64,1), background .2s ease;
  }
  details[open] summary::after{content:""; transform:rotate(180deg);}
  details summary:hover::after{transform:scale(1.15) rotate(90deg);}
  details[open] summary:hover::after{transform:scale(1.15) rotate(180deg);}
  details p{margin-top:12px; font-size:14.5px; color:var(--ink-soft); max-width:64ch;}

  /* ---------- Contact ---------- */
  .contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:48px;}
  .contact-info h2{font-size:clamp(24px,3vw,32px); font-weight:500;}
  .contact-info p{color:var(--ink-soft); margin-top:14px; max-width:38ch;}
  .contact-detail{margin-top:24px; display:grid; gap:10px; font-size:14.5px;}
  .contact-detail div{display:flex; gap:10px;}
  .contact-detail b{color:var(--ink-faint); font-weight:600; width:110px; flex:none; font-size:13px;}
  form.contact-form{
    background:var(--surface); border:2px solid var(--line); border-radius:var(--radius); padding:30px; display:grid; gap:18px;
    box-shadow:var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,.22);
    backdrop-filter:blur(var(--glass-blur)) saturate(160%);
    -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);
  }
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  @media (max-width:480px){.form-row{grid-template-columns:1fr;}}
  label{font-size:12.5px; font-weight:800; display:block; margin-bottom:7px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft);}
  input, select, textarea{
    width:100%; padding:13px 15px; border-radius:14px; border:2px solid var(--line); background:var(--bg); color:var(--ink);
    font-family:'Manrope',sans-serif; font-size:14.5px; font-weight:500;
    transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
  }
  input::placeholder, textarea::placeholder{color:var(--ink-faint);}
  input:hover, select:hover, textarea:hover{border-color:var(--ink-faint);}
  input:focus, select:focus, textarea:focus{
    outline:none; border-color:var(--accent-it); background:var(--surface);
    box-shadow:0 0 0 4px var(--accent-it-tint);
  }
  select{cursor:pointer;}
  textarea{resize:vertical; min-height:96px;}
  .contact-form .btn-it{width:100%; font-size:16px; padding:14px 20px; letter-spacing:.01em;}
  .form-note{font-size:12px; color:var(--ink-faint);}
  .success-box{display:none; align-items:center; gap:10px; padding:14px 16px; border-radius:10px; background:var(--accent-school-tint); color:var(--accent-school-ink); font-size:14px; font-weight:600;}
  .success-box.show{display:flex;}
  .register-invite{margin-top:10px; padding-top:10px; border-top:1px dashed rgba(15,40,30,.18); font-size:13px; font-weight:500; line-height:1.4;}
  .register-invite b{display:block; margin-bottom:4px; font-weight:800;}
  .register-invite .reg-invite-btn{margin-top:9px;}
  .consent-row{display:flex; align-items:flex-start; gap:9px; font-size:12.5px; font-weight:500; text-transform:none; letter-spacing:normal; color:var(--ink-soft); line-height:1.45; cursor:pointer;}
  .consent-row input[type="checkbox"]{margin-top:2px; width:16px; height:16px; flex:none; accent-color:var(--accent-it); cursor:pointer;}
  .privacy-link{color:var(--accent-it-ink); text-decoration:underline; text-underline-offset:2px; cursor:pointer;}
  .privacy-link:hover{color:var(--accent-it);}
  .privacy-body{padding:22px 24px; font-size:13.8px; color:var(--ink-soft); line-height:1.6; max-height:60vh; overflow-y:auto;}
  .privacy-body p{margin-bottom:12px;}
  .privacy-body b{color:var(--ink); font-weight:700;}

  /* ---------- Footer ---------- */
  footer{padding-block:40px;}
  .foot-row{display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap;}
  .foot-links{display:flex; gap:22px; flex-wrap:wrap;}
  .foot-links a{font-size:13.5px; color:var(--ink-soft); text-decoration:none; font-weight:600;}
  .foot-legal{font-size:12.5px; color:var(--ink-faint); margin-top:18px; max-width:70ch;}

  /* ---------- Робот Олег — пасхалка ---------- */
  .oleg-note{padding-block:28px;}
  .oleg-note .wrap{background:var(--accent-it-tint); border-radius:18px; padding:18px 24px;}
  .oleg-note p{font-size:14px; color:var(--accent-it-ink); font-weight:600; text-align:center; max-width:60ch; margin:0 auto;}
  .oleg-robot{
    position:fixed; left:0; z-index:400; width:76px; padding:0; border:none; background:none; cursor:pointer;
    will-change:transform;
  }
  .oleg-robot img{width:100%; height:auto; display:block; filter:drop-shadow(0 8px 14px rgba(21,34,47,.3));}
  /* Бежит через transform, а не left/right — left/right пересчитывают раскладку всей
     страницы на каждом кадре и на телефоне могут подвесить/сломать отрисовку остального
     контента; transform двигается на GPU, раскладку не трогает вообще. */
  .oleg-robot.run-ltr{ animation: olegRunLTR 2s linear forwards; }
  .oleg-robot.run-rtl{ animation: olegRunRTL 2s linear forwards; }
  .oleg-robot.run-rtl img{ transform:scaleX(-1); } /* бежит справа налево — разворачиваем спрайт, чтобы не «пятился» */
  .oleg-robot img.caught{ animation: olegCaught .3s ease-out forwards !important; }
  @keyframes olegRunLTR{ from{ transform:translateX(-90px); } to{ transform:translateX(calc(100vw + 10px)); } }
  @keyframes olegRunRTL{ from{ transform:translateX(calc(100vw + 10px)); } to{ transform:translateX(-90px); } }
  @keyframes olegCaught{ 0%{opacity:1; transform:scale(1);} 60%{transform:scale(1.3) rotate(8deg);} 100%{opacity:0; transform:scale(.2) rotate(-16deg);} }
  @media (max-width:600px){ .oleg-robot{width:58px;} }
  @media (prefers-reduced-motion: reduce){ .oleg-robot.run-ltr, .oleg-robot.run-rtl{ animation:none !important; transform:translateX(50vw); } }

  /* ---------- Dialog / cabinet modal ---------- */
  dialog.cabinet-modal{
    border:none; border-radius:18px; padding:0; width:min(720px,92vw); background:var(--surface); color:var(--ink);
    box-shadow:var(--shadow);
  }
  dialog.cabinet-modal::backdrop{background:rgba(15,25,40,.45);}

  /* ---------- Registration nudge popup ---------- */
  dialog.register-nudge{
    width:min(340px,88vw); padding:26px 24px 24px; text-align:center;
    position:fixed; top:0; left:0; right:0; bottom:0; margin:auto; max-height:90vh; overflow:auto;
    animation:popIn .35s cubic-bezier(.34,1.56,.64,1);
  }
  .nudge-close{
    position:absolute; top:10px; right:12px; background:none; border:none; font-size:16px;
    color:var(--ink-faint); cursor:pointer; padding:4px;
  }
  .nudge-close:hover{color:var(--ink);}
  .nudge-icon{
    width:46px; height:46px; margin:0 auto 14px; border-radius:14px; background:var(--accent-it-tint);
    color:var(--accent-it-ink); display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono',monospace; font-weight:800; font-size:15px;
  }
  dialog.register-nudge h3{font-size:16px; font-weight:800; margin-bottom:8px;}
  dialog.register-nudge p{font-size:13px; color:var(--ink-soft); line-height:1.5; margin-bottom:18px;}

  .cart-register-link{
    display:block; width:100%; text-align:center; background:none; border:none; margin-top:8px;
    font-size:11.5px; color:var(--ink-faint); text-decoration:underline; cursor:pointer; font-family:'Manrope',sans-serif;
  }
  .cart-register-link:hover{color:var(--accent-it-ink);}

  .modal-head{display:flex; justify-content:space-between; align-items:center; padding:18px 22px; border-bottom:1px solid var(--line);}
  .modal-head h3{font-size:16px; font-family:'Manrope',sans-serif; font-weight:800;}
  .modal-close{background:none; border:none; font-size:20px; cursor:pointer; color:var(--ink-faint); line-height:1; padding:4px;}
  .demo-tag{
    font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em;
    background:var(--accent-it-tint); color:var(--accent-it-ink); padding:3px 8px; border-radius:6px;
  }

  /* ---------- Responsive ---------- */
  @media (max-width:900px){
    nav.links{display:none;}
    .burger{display:flex;}
    .hero-grid{grid-template-columns:1fr;}
    .hero-art{max-width:280px; transform:none;}
    .sticker{display:none;}
    .about-grid, .cabinet-grid, .contact-grid, .school-panel{grid-template-columns:1fr;}
    .grid-4{grid-template-columns:repeat(2,1fr);}
    .grid-3{grid-template-columns:repeat(2,1fr);}
    .track-row{grid-template-columns:1fr;}
    .process-row{grid-template-columns:repeat(2,1fr); row-gap:24px;}
    .process-step:not(:last-child)::after{content:none;}
    .form-row{grid-template-columns:1fr;}
  }
  @media (max-width:600px){
    .grid-4{grid-template-columns:1fr;}
    .grid-3{grid-template-columns:1fr;}
    .grid-2{grid-template-columns:1fr;}
    .process-row{grid-template-columns:1fr;}
    .cabinet-body{grid-template-columns:1fr;}
    .cabinet-side{flex-direction:row; overflow-x:auto; border-right:none; border-bottom:1px solid var(--line);}
    .foot-row{flex-direction:column;}
    section{padding-block:52px;}
  }

  #mobile-menu{
    display:none; position:fixed; inset:0; z-index:50; background:rgba(244,247,251,.94);
    backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%);
    padding:20px 24px; overflow-y:auto;
  }
  #mobile-menu{height:100dvh;width:100%;box-sizing:border-box;background:rgba(244,247,251,.78);padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;}#mobile-menu.open{display:block;}
  #mobile-menu .close-row{display:flex; justify-content:flex-end;}
  #mobile-menu nav{display:flex; flex-direction:column; gap:6px; margin-top:30px;}
  #mobile-menu nav a{
    font-family:'Baloo 2',sans-serif; font-weight:700; font-size:26px; text-decoration:none; color:var(--ink); padding:10px 0; border-bottom:1px solid var(--line);
  }
  #mobile-menu .btn{margin-top:24px; width:100%;}

  /* ---------- Dynamic / breakout helpers ---------- */
  html,body{overflow-x:clip;}
  html{width:100%;}

  /* ---------- Playful motion system ---------- */
  @keyframes stickerSpin{ to{transform:rotate(360deg);} }
  @keyframes stickerBob{
    0%,100%{transform:translateY(0) rotate(var(--r,0deg));}
    50%{transform:translateY(-10px) rotate(var(--r,0deg));}
  }
  @keyframes popIn{ from{opacity:0; transform:scale(.85);} to{opacity:1; transform:scale(1);} }
  .sticker{position:absolute; pointer-events:none; z-index:2; animation:stickerBob 5s ease-in-out infinite; font-size:28px;}
  .sticker.spin{animation:stickerSpin 16s linear infinite;}
  .btn{transition:transform .18s cubic-bezier(.34,1.56,.64,1), box-shadow .18s ease, background .18s ease; position:relative;}
  .btn:hover{transform:translateY(-3px) scale(1.04) rotate(-1deg); box-shadow:var(--shadow);}
  .btn:active{transform:translateY(0) scale(.96);}
  .btn-it::after, .btn-school::after{
    content:""; position:absolute; inset:0; border-radius:inherit; border:2px solid currentColor; opacity:0; pointer-events:none;
  }
  .btn-it:hover::after, .btn-school:hover::after{animation:btnPing .55s ease-out;}
  @keyframes btnPing{ 0%{opacity:.55; transform:scale(1);} 100%{opacity:0; transform:scale(1.32);} }
  .card{transition:transform .3s cubic-bezier(.34,1.3,.64,1), box-shadow .3s ease, border-color .3s ease;}
  .card:hover{transform:translateY(-8px); box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.3); border-color:color-mix(in srgb, var(--accent-it) 45%, var(--line));}
  [data-reveal]{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1);}
  .js [data-reveal].in-view{opacity:1; transform:translateY(0);}
  .js [data-reveal]:not(.in-view){transition-delay:0s;}
  /* staggered pop-in for cards inside a revealed group */
  .js [data-reveal] > .card,
  .js [data-reveal] .grid-4 > .card,
  .js [data-reveal] .grid-3 > .card,
  .js [data-reveal] .grid-2 > .card,
  .js [data-reveal].service-detail-grid > .card,
  .js [data-reveal] .process-step,
  .js [data-reveal] .about-point{
    opacity:0; transform:translateY(22px) scale(.95);
    transition:opacity .55s ease, transform .55s cubic-bezier(.34,1.4,.64,1);
  }
  .js [data-reveal].in-view > .card,
  .js [data-reveal].in-view .grid-4 > .card,
  .js [data-reveal].in-view .grid-3 > .card,
  .js [data-reveal].in-view .grid-2 > .card,
  .js [data-reveal].service-detail-grid.in-view > .card,
  .js [data-reveal].in-view .process-step,
  .js [data-reveal].in-view .about-point{
    opacity:1; transform:translateY(0) scale(1);
  }
  .js [data-reveal].in-view > .card:nth-child(1),  .js [data-reveal].in-view .process-step:nth-child(1), .js [data-reveal].in-view .about-point:nth-child(1){transition-delay:.03s;}
  .js [data-reveal].in-view > .card:nth-child(2),  .js [data-reveal].in-view .process-step:nth-child(2), .js [data-reveal].in-view .about-point:nth-child(2){transition-delay:.09s;}
  .js [data-reveal].in-view > .card:nth-child(3),  .js [data-reveal].in-view .process-step:nth-child(3), .js [data-reveal].in-view .about-point:nth-child(3){transition-delay:.15s;}
  .js [data-reveal].in-view > .card:nth-child(4),  .js [data-reveal].in-view .process-step:nth-child(4), .js [data-reveal].in-view .about-point:nth-child(4){transition-delay:.21s;}
  .js [data-reveal].in-view > .card:nth-child(5),  .js [data-reveal].in-view .process-step:nth-child(5){transition-delay:.27s;}
  .js [data-reveal].in-view > .card:nth-child(6){transition-delay:.33s;}
  .js [data-reveal].in-view > .card:nth-child(7){transition-delay:.39s;}
  @media (prefers-reduced-motion: reduce){
    .sticker{animation:none;}
    [data-reveal]{opacity:1; transform:none;}
    [data-reveal] > .card, [data-reveal] .process-step, [data-reveal] .about-point{opacity:1 !important; transform:none !important; transition:none !important;}
  }
  /* ---------- Skill / process flow (animated, replaces old marquee ribbons) ---------- */
  .skill-flow{position:relative; padding-block:30px; overflow:hidden;}
  .skill-flow .flow-line{position:absolute; left:0; top:50%; width:100%; height:60px; transform:translateY(-50%); z-index:0; overflow:visible;}
  .skill-flow .flow-line path{stroke:var(--accent-it); stroke-width:1; fill:none; opacity:.4; stroke-dasharray:1000; stroke-dashoffset:1000; transition:stroke-dashoffset 1.6s ease .1s;}
  .js .skill-flow.in-view .flow-line path{stroke-dashoffset:0;}
  .process-flow .flow-line path{stroke:var(--accent-purple);}
  .skill-flow-items{position:relative; z-index:1; display:flex; flex-wrap:wrap; justify-content:center; gap:14px; max-width:1100px; margin:0 auto; padding-inline:20px;}
  .skill-chip{
    background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:10px 20px;
    font-family:'IBM Plex Mono',monospace; font-size:12.5px; font-weight:600; color:var(--ink); white-space:nowrap;
    backdrop-filter:blur(var(--glass-blur)) saturate(160%); -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);
    box-shadow:0 10px 24px -14px rgba(0,0,0,.5);
    opacity:0; transform:translateY(16px) scale(.8);
    transition:opacity .5s ease, transform .5s cubic-bezier(.34,1.56,.64,1);
  }
  .js .skill-flow.in-view .skill-chip{opacity:1; transform:translateY(0) scale(1);}
  .skill-flow.in-view .skill-chip:nth-child(1){transition-delay:.04s;}
  .skill-flow.in-view .skill-chip:nth-child(2){transition-delay:.12s;}
  .skill-flow.in-view .skill-chip:nth-child(3){transition-delay:.2s;}
  .skill-flow.in-view .skill-chip:nth-child(4){transition-delay:.28s;}
  .skill-flow.in-view .skill-chip:nth-child(5){transition-delay:.36s;}
  .skill-flow.in-view .skill-chip:nth-child(6){transition-delay:.44s;}
  .skill-flow.in-view .skill-chip:nth-child(7){transition-delay:.52s;}
  .skill-flow.in-view .skill-chip:nth-child(8){transition-delay:.6s;}
  .process-flow .skill-chip{border-color:color-mix(in srgb, var(--accent-purple) 45%, var(--line));}
  @media (prefers-reduced-motion: reduce){
    .skill-flow .flow-line path{transition:none; stroke-dashoffset:0;}
    .skill-chip{transition:none; opacity:1 !important; transform:none !important;}
  }
  [data-mesh]{position:relative;}
  .mesh-deco{position:absolute; inset:0; pointer-events:none; z-index:0; width:100%; height:100%;}
  /* decorative corner webs — replace the old solid blobs; no fill, no clipped shape, so nothing to "cut off" at a section edge */
  .mesh-blob{position:absolute; z-index:0; pointer-events:none;}
  @media (prefers-reduced-motion: reduce){
    .mesh-deco{display:none;}
    .mesh-blob{display:none;}
  }
  /* ---------- Reveal variety: fly-in / scale / split (showcasing different entrance styles per block) ---------- */
  [data-reveal][data-anim="left"]{transform:translateX(-72px);}
  [data-reveal][data-anim="right"]{transform:translateX(72px);}
  [data-reveal][data-anim="scale"]{transform:scale(.86);}
  [data-reveal][data-anim="rotate"]{transform:rotate(-4deg) scale(.9);}
  .js [data-reveal][data-anim="left"].in-view,
  .js [data-reveal][data-anim="right"].in-view,
  .js [data-reveal][data-anim="scale"].in-view{transform:none;}
  .js [data-reveal][data-anim="rotate"].in-view{transform:rotate(0deg) scale(1);}
  [data-reveal][data-anim="split"]{transform:none;}
  [data-reveal][data-anim="split"] > *:first-child{
    opacity:0; transform:translateX(-64px);
    transition:opacity .7s ease .05s, transform .75s cubic-bezier(.2,.7,.3,1) .05s;
  }
  [data-reveal][data-anim="split"] > *:last-child{
    opacity:0; transform:translateX(64px);
    transition:opacity .7s ease .18s, transform .75s cubic-bezier(.2,.7,.3,1) .18s;
  }
  .js [data-reveal][data-anim="split"].in-view > *:first-child,
  .js [data-reveal][data-anim="split"].in-view > *:last-child{opacity:1; transform:translateX(0);}
  @media (prefers-reduced-motion: reduce){
    [data-reveal][data-anim]{opacity:1 !important; transform:none !important;}
    [data-reveal][data-anim="split"] > *{opacity:1 !important; transform:none !important; transition:none !important;}
  }

  .tilt-l{transform:rotate(-3deg);}
  .tilt-r{transform:rotate(3deg);}
  .tilt-l2{transform:rotate(-1.4deg);}
  .tilt-r2{transform:rotate(1.4deg);}
  .float-badge{
    position:absolute; background:var(--surface); border:1px solid var(--line); border-radius:14px;
    padding:11px 16px; box-shadow:var(--shadow); font-size:12.5px; font-weight:800;
    display:flex; align-items:center; gap:9px; z-index:3;
  }
  .float-badge .big{font-family:'IBM Plex Mono',monospace; font-size:17px; color:var(--accent-it);}
  .card-arrow{
    margin-top:auto; align-self:flex-end; width:34px; height:34px; border-radius:50%;
    border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
    font-size:15px; transition:transform .2s ease, background .2s ease, border-color .2s ease;
  }
  .service-card{position:relative; transition:transform .25s ease, box-shadow .25s ease;}
  .service-card:hover{transform:rotate(-1deg) translateY(-4px); box-shadow:var(--shadow);}
  .service-card:hover .card-arrow{transform:rotate(45deg); background:var(--accent-it); border-color:var(--accent-it); color:#fff;}
  .service-card.featured{
    background:linear-gradient(160deg, var(--accent-it), var(--accent-it-ink)); color:#fff; grid-row:span 2;
    backdrop-filter:blur(var(--glass-blur)) saturate(160%);
    -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);
  }
  .service-card.featured .icon{background:rgba(255,255,255,.14); color:#fff;}
  .service-card.featured h3, .service-card.featured p{color:inherit;}
  .service-card.featured p{opacity:.72;}
  .service-card.featured .card-arrow{border-color:rgba(255,255,255,.35); color:#fff;}
  .quote-card:nth-child(1){transform:rotate(-2.6deg);}
  .quote-card:nth-child(2){transform:rotate(1.6deg); margin-top:22px;}
  .quote-card:nth-child(3){transform:rotate(-1.6deg); margin-top:-10px;}
  .quote-card{transition:transform .2s ease;}
  .quote-card:hover{transform:rotate(0deg) scale(1.02); z-index:2; position:relative;}
  /* tilted drop-in reveal for testimonial cards, similar to campsuda.ru's "Отзывы" page */
  .js [data-reveal] > .card.quote-card{
    transform:translateY(40px) rotate(0deg) scale(.86);
    transition:opacity .6s ease, transform .7s cubic-bezier(.34,1.56,.64,1);
  }
  .js [data-reveal].in-view > .card.quote-card:nth-child(1){transform:translateY(0) rotate(-2.6deg) scale(1);}
  .js [data-reveal].in-view > .card.quote-card:nth-child(2){transform:translateY(0) rotate(1.6deg) scale(1); transition-delay:.14s;}
  .js [data-reveal].in-view > .card.quote-card:nth-child(3){transform:translateY(0) rotate(-1.6deg) scale(1); transition-delay:.28s;}
  .js [data-reveal].in-view > .card.quote-card:hover{transform:translateY(-6px) rotate(0deg) scale(1.03); z-index:2; position:relative;}
  .case-card:nth-child(2){transform:translateY(-14px);}

  /* ---------- Detailed service cards ---------- */
  .svc-carousel-wrap{display:flex; align-items:center; gap:10px; margin-top:24px; max-width:100%;}
  .svc-carousel-wrap .service-detail-grid{flex:1 1 auto; min-width:0;}
  .service-detail-grid{
    display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
    padding:4px 4px 10px; -webkit-overflow-scrolling:touch; align-items:flex-start;
  }
  .service-detail-grid::-webkit-scrollbar{height:6px;}
  .lead-kanban{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 14px;align-items:flex-start;scroll-snap-type:x proximity;}
  .lead-kanban-column{flex:1 0 245px;min-width:245px;max-width:360px;background:var(--surface-2);border:1px solid var(--line);border-radius:18px;padding:12px;scroll-snap-align:start;}
  .lead-kanban-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:800;font-size:13px;margin-bottom:12px;}
  .lead-kanban-count{border-radius:999px;padding:3px 8px;background:var(--surface);font-size:11px;}
  .lead-kanban-items{display:grid;gap:10px;}
  .lead-kanban-items .lead-card{margin:0;padding:14px;}
  .lead-kanban-empty{color:var(--ink-faint);font-size:12px;padding:14px 5px;}
  #a-leads-list.lead-kanban{display:flex;}
  #cabinet-app #screen-admin>.wrap{max-width:none!important;width:100%;padding-inline:18px}
  /* Client workspace mirrors the admin workspace: full-width canvas and left-edge dark navigation. */
  #cabinet-app #screen-client>.wrap{max-width:none!important;width:100%;padding-inline:18px}
  #cabinet-app #c-content.client-layout{grid-template-columns:230px minmax(0,1fr) 250px;gap:18px}
  #cabinet-app #c-content .client-main{min-width:0}
  @media(max-width:1080px){#cabinet-app #c-content.client-layout{grid-template-columns:210px minmax(0,1fr)}#cabinet-app #c-content .client-rail{grid-column:1/-1}}
  @media(max-width:760px){#cabinet-app #screen-client>.wrap{padding-inline:12px}#cabinet-app #c-content.client-layout{grid-template-columns:1fr;gap:14px}}

  #cabinet-app #a-content.client-layout{grid-template-columns:230px minmax(0,1fr) 250px;gap:18px}
  #cabinet-app #cview-projects{min-width:0}#cabinet-app #c-projects.project-stage-kanban{display:flex;grid-template-columns:none;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}#cabinet-app #c-projects.project-stage-kanban .lead-kanban-column{flex:0 0 250px;max-width:250px}#cabinet-app #c-projects.project-stage-kanban .project-card-sq{min-width:0;overflow-wrap:anywhere}#cabinet-app #c-project-family-empty{margin:8px 0 0} @media(max-width:760px){#cabinet-app #c-projects.project-stage-kanban .lead-kanban-column{flex-basis:min(78vw,280px);max-width:min(78vw,280px)}}
  #cabinet-app #aview-leads{min-width:0}#cabinet-app #a-leads-list.lead-kanban{display:flex;grid-template-columns:none;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
  #cabinet-app .lead-kanban-column{flex:0 0 250px;max-width:250px}
  @media(max-width:1080px){#cabinet-app #a-content.client-layout{grid-template-columns:210px minmax(0,1fr)}#cabinet-app #a-content .client-rail{grid-column:1/-1}}
  @media(max-width:760px){#cabinet-app #screen-admin>.wrap{padding-inline:12px}#cabinet-app #a-content.client-layout{grid-template-columns:1fr;gap:14px}#cabinet-app .lead-kanban-column{flex-basis:min(78vw,280px);max-width:min(78vw,280px)}}

  #screen-admin .client-nav-item.hidden{display:none!important;}
  #cabinet-app .modal.project-fullscreen{width:calc(100vw - 24px);max-width:none!important;height:calc(100dvh - 24px);max-height:none;overflow-y:auto;}
  @media (max-width:760px){#cabinet-app .modal.project-fullscreen{width:100vw;height:100dvh;border-radius:0;}}
  .service-detail-grid::-webkit-scrollbar-thumb{background:var(--line); border-radius:99px;}
  .service-detail-grid > .card{flex:0 0 290px; scroll-snap-align:start;}
  .service-detail{align-items:flex-start; padding:20px;}
  .service-detail:hover{transform:translateY(-3px); box-shadow:var(--shadow);}
  .sd-head{display:flex; align-items:center; gap:12px;}
  .sd-head h3{font-size:16px;}
  .service-hook{
    font-size:13px; line-height:1.5; color:var(--ink-soft);
  }
  .service-detail.featured .service-hook{color:rgba(255,255,255,.8); opacity:1;}
  .service-desc{
    font-size:12.5px; line-height:1.45; color:var(--ink-faint);
  }
  .service-detail.featured .service-desc{color:rgba(255,255,255,.6); opacity:1;}
  .service-examples{
    font-size:12px; line-height:1.5; color:var(--ink-faint);
  }
  .service-examples b{color:var(--ink-soft); font-weight:700;}
  .price-row{display:flex; flex-wrap:wrap; gap:8px; margin-top:2px;}
  .price-chip{
    font-family:'IBM Plex Mono',monospace; font-size:10.5px; font-weight:700; padding:6px 11px;
    border-radius:999px; background:var(--accent-it-tint); color:var(--accent-it-ink); max-width:100%;
  }
  .price-chip.alt{background:var(--accent-school-tint); color:var(--accent-school-ink);}
  .service-detail.featured .price-chip{background:rgba(255,255,255,.14); color:#fff;}
  .sd-cta{margin-top:auto; align-self:flex-start;}
  /* ---------- Самое популярное ---------- */
  .popular-services{padding-block:8px 20px;}
  .popular-grid{margin-top:8px;}
  .popular-card{position:relative; padding:30px 24px 26px; display:flex; flex-direction:column; gap:13px; overflow:visible;}
  .popular-badge{position:absolute; top:-13px; left:22px; background:var(--accent-it); color:#fff; font-size:11.5px; font-weight:800; padding:6px 15px; border-radius:999px; box-shadow:var(--shadow-sm); white-space:nowrap;}
  .popular-card h3{font-size:18px; margin-top:2px;}
  .popular-why{font-size:13.5px; line-height:1.55; color:var(--ink-soft);}
  .popular-why b{color:var(--ink);}
  .popular-list{list-style:none; padding:0; margin:2px 0 0; display:flex; flex-direction:column; gap:8px;}
  .popular-list li{font-size:13px; line-height:1.4; color:var(--ink-soft); padding-left:22px; position:relative;}
  .popular-list li::before{content:"";display:inline-block;width:1em;height:1em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204%2010-10%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204%2010-10%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; position:absolute; left:0; top:0; color:var(--accent-it); font-weight:800;}
  .popular-card .btn{margin-top:auto; align-self:flex-start;}
  .popular-swipe-hint{display:none; text-align:center; margin-top:4px; font-size:12px; color:var(--ink-faint);}

  /* ---------- Геймификация: игра «быстро / качественно / выгодно» ---------- */
  .gamify{padding-block:52px 56px; text-align:center;}
  .gamify-title{font-size:clamp(30px,4.2vw,46px); transform:translateX(-14px) rotate(-7deg); display:inline-block; margin:0 0 26px;}
  @media (max-width:600px){.gamify-title{display:block;max-width:100%;font-size:clamp(25px,7vw,31px);line-height:1.2;transform:none;margin:0 auto 22px;}}
  .gamify-sub{color:var(--ink-soft); font-size:15.5px; margin-bottom:6px;}
  .gamify-hint{color:var(--ink-faint); font-size:12.5px; margin-bottom:8px;}
  .gam-groups{display:flex; justify-content:center; align-items:flex-start; gap:clamp(6px,3vw,40px); flex-wrap:nowrap; max-width:520px; margin:0 auto;}
  .gam-side{flex:1 1 0; min-width:0; max-width:220px;}
  .gam-side-label{font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:10px; display:inline-block; padding:5px 12px; border-radius:999px; background:var(--surface-2);}
  .gam-side-ours .gam-side-label{color:#fff; background:var(--accent-it);}
  .gam-divider{flex:none; align-self:stretch; width:22px; color:var(--line); margin-top:34px;}
  .gam-divider svg{width:100%; height:100%; display:block;}
  .gam-balloons{position:relative; height:196px; margin-top:18px;}
  /* руки убраны — при объединении шарики просто смотрят друг на друга и улыбаются (см. JS) */

  /* салют вокруг всех «наших» шариков при объединении */
  .gam-confetti{position:absolute; inset:0; pointer-events:none; z-index:2; overflow:visible;}
  .gam-confetti i{position:absolute; left:var(--ox); top:var(--oy); width:8px; height:8px; border-radius:2px; opacity:0;}
  .gam-side-ours.unified .gam-confetti i{animation:confettiPop 1.15s ease-out forwards;}
  .gam-confetti i:nth-child(4n+1){animation-delay:.02s;}
  .gam-confetti i:nth-child(4n+2){animation-delay:.1s;}
  .gam-confetti i:nth-child(4n+3){animation-delay:.18s;}
  .gam-confetti i:nth-child(4n){animation-delay:.26s;}
  @keyframes confettiPop{
    0%{opacity:1; transform:translate(0,0) rotate(0deg) scale(1);}
    100%{opacity:0; transform:translate(var(--tx),var(--ty)) rotate(260deg) scale(.35);}
  }

  .gam-balloon{background:none; border:none; cursor:pointer; padding:0; width:76px; position:absolute; top:0; -webkit-tap-highlight-color:transparent;}
  .gam-balloon:focus{outline:none;}
  .gam-balloon:focus-visible .balloon-svg{filter:drop-shadow(0 0 4px var(--accent-it)) drop-shadow(0 12px 14px rgba(21,34,47,.18));}
  .gam-balloon:nth-of-type(1){left:50%; transform:translateX(-50%); z-index:3;}
  .gam-balloon:nth-of-type(2){left:-6%; top:48px; transform:rotate(-9deg); z-index:2;}
  .gam-balloon:nth-of-type(3){right:-6%; left:auto; top:54px; transform:rotate(8deg); z-index:2;}
  .gam-balloon-float{
    display:flex; flex-direction:column; align-items:center; position:relative;
    animation:gamFloat 3.2s ease-in-out infinite;
    transition:transform .4s cubic-bezier(.34,1.56,.64,1), color .4s ease;
  }
  .gam-side-theirs .gam-balloon[data-pick="fast"] .gam-balloon-float{color:#E8637A;}
  .gam-side-theirs .gam-balloon[data-pick="quality"] .gam-balloon-float{color:#4FA8A0;}
  .gam-side-theirs .gam-balloon[data-pick="cheap"] .gam-balloon-float{color:#D4A64A;}
  .gam-side-ours .gam-balloon[data-pick="fast"] .gam-balloon-float{color:#1F6FEB;}
  .gam-side-ours .gam-balloon[data-pick="quality"] .gam-balloon-float{color:#5B4FCF;}
  .gam-side-ours .gam-balloon[data-pick="cheap"] .gam-balloon-float{color:#E8A233;}
  .gam-balloon:nth-of-type(2) .gam-balloon-float{animation-delay:.5s;}
  .gam-balloon:nth-of-type(3) .gam-balloon-float{animation-delay:1s;}
  .gam-balloon:hover .gam-balloon-float{transform:translateY(-6px) scale(1.03);}
  .gam-balloon.active .gam-balloon-float{transform:translateY(-16px) scale(1.08);}
  .gam-balloon .balloon-svg{transition:transform .22s ease-out, filter .22s ease-out;}
  .gam-balloon.active .balloon-svg{transform:scale(1.1);filter:drop-shadow(0 0 9px currentColor) drop-shadow(0 12px 14px rgba(21,34,47,.18));}
  .gam-balloon.active::after{content:"";display:inline-block;width:1em;height:1em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204%2010-10%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204%2010-10%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;position:absolute;top:-7px;right:1px;z-index:5;width:22px;height:22px;border-radius:50%;background:var(--accent-it);color:#fff;font-size:14px;font-weight:800;line-height:22px;box-shadow:var(--shadow-sm);animation:balloonPick .22s ease-out both;}
  @keyframes balloonPick{from{opacity:0;transform:scale(.55);}to{opacity:1;transform:scale(1);}}
  @media (prefers-reduced-motion:reduce){.gam-balloon .balloon-svg{transition:none;}.gam-balloon.active::after{animation:none;}}
  .gam-side-ours.unified .gam-balloon .gam-balloon-float{color:var(--accent-it) !important;}

  .balloon-svg{width:100%; height:auto; filter:drop-shadow(0 12px 14px rgba(21,34,47,.18));}
  .balloon-label{
    position:absolute; top:45%; left:50%; font-weight:800; font-size:11px; color:#fff; text-align:center; line-height:1.2;
    text-shadow:0 1px 3px rgba(0,0,0,.32); padding:0 2px; pointer-events:none; transition:opacity .2s ease;
    white-space:nowrap; transform:translateX(-50%);
  }
  /* шарик наклонён для живости, но текст на нём должен остаться ровным и читаемым */
  .gam-balloon:nth-of-type(2) .balloon-label{transform:translateX(-50%) rotate(9deg);}
  .gam-balloon:nth-of-type(3) .balloon-label{transform:translateX(-50%) rotate(-8deg);}
  @keyframes gamFloat{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);} }
  @keyframes balloonPop{
    0%{transform:scale(1); opacity:1;}
    35%{transform:scale(1.3) rotate(-4deg); opacity:1;}
    100%{transform:scale(.2) rotate(8deg); opacity:0;}
  }
  .gam-balloon.popped .gam-balloon-float{animation:balloonPop .4s ease-in forwards !important;}
  .gam-balloon.popped .balloon-label{opacity:0;}
  .gam-balloon.popped .balloon-string{opacity:0; transition:opacity .2s ease;}

  /* мимика шариков */
  .pupil{transition:transform .35s ease;}
  .gam-balloon.look-left .pupil{transform:translateX(-2.4px);}
  .gam-balloon.look-right .pupil{transform:translateX(2.4px);}
  .mouth-sad{opacity:0; transition:opacity .25s ease;}
  .mouth-happy{opacity:1; transition:opacity .25s ease;}
  .gam-balloon.sad .mouth-happy{opacity:0;}
  .gam-balloon.sad .mouth-sad{opacity:1;}

  @media (max-width:640px){
    .gam-groups{gap:12px;max-width:100%;}
    .gam-divider{width:12px;}
    .gam-balloons{height:174px;}
    .gam-balloon{width:clamp(48px,14vw,64px);}
    .gam-balloon:nth-of-type(2){left:4%;}
    .gam-balloon:nth-of-type(3){right:4%;}
    .balloon-label{font-size:9px;} .gam-groups{gap:32px;} }

  /* на широких экранах игра растягивается почти во всю ширину сайта */
  @media (min-width:901px){
    .gam-groups{max-width:1400px; gap:clamp(60px,10vw,220px);}
    .gam-side{max-width:420px;}
    .gam-balloons{height:340px; margin-top:26px;}
    .gam-balloon{width:132px;}
    .gam-balloon:nth-of-type(2){top:84px;}
    .gam-balloon:nth-of-type(3){top:94px;}
    .balloon-label{font-size:16px;}
    .gamify-sub{font-size:17px;}
    .gam-side-label{font-size:13.5px;}
  }
  @media (max-width:900px){
    .popular-grid{
      display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
      gap:16px; padding:22px 4px 14px; -webkit-overflow-scrolling:touch;
    }
    .popular-grid::-webkit-scrollbar{height:6px;}
    .popular-grid::-webkit-scrollbar-thumb{background:var(--line); border-radius:99px;}
    .popular-card{flex:0 0 86%; scroll-snap-align:start;}
    .popular-swipe-hint{display:block;}
  }
  @media (max-width:600px){
    .service-detail-grid > .card{flex-basis:250px;}
    .svc-prev, .svc-next{display:none;}
  }
  .why-card h3{font-size:16px; font-weight:700; font-family:'Manrope',sans-serif;}
  .why-card p{font-size:13.8px; color:var(--ink-soft); line-height:1.5;}

  /* ---------- Quiz ---------- */
  #quiz{position:relative; overflow:hidden;}
  .quiz-card{max-width:640px; margin:0 auto; padding:36px; text-align:center;}
  .quiz-progress{display:flex; justify-content:center; gap:8px; margin-bottom:26px;}
  .quiz-dot{width:8px; height:8px; border-radius:50%; background:var(--line); transition:background .3s ease, transform .3s ease;}
  .quiz-dot.active{background:var(--accent-it); transform:scale(1.35);}
  .quiz-dot.done{background:var(--accent-it);}
  .quiz-q{font-size:19px; font-weight:600; margin-bottom:20px;}
  .quiz-options{display:grid; grid-template-columns:repeat(2,1fr); gap:12px;}
  .quiz-opt{
    padding:14px 16px; border-radius:14px; border:1.5px solid var(--line); background:var(--bg); color:var(--ink);
    font-family:'Manrope',sans-serif; font-weight:600; font-size:13.5px; line-height:1.35; cursor:pointer; text-align:left;
    transition:transform .2s cubic-bezier(.34,1.56,.64,1), border-color .2s ease, background .2s ease, box-shadow .2s ease;
  }
  .quiz-opt:hover{border-color:var(--accent-it); background:var(--accent-it-tint); transform:translateY(-2px); box-shadow:var(--shadow-sm);}
  .quiz-opt:active{transform:translateY(0) scale(.98);}
  .quiz-step{animation:popIn .35s ease;}
  .quiz-back{margin-top:18px; background:none; border:none; color:var(--ink-faint); font-size:13px; cursor:pointer; text-decoration:underline; font-family:'Manrope',sans-serif;}
  .quiz-back:hover{color:var(--ink);}
  .quiz-result{animation:popIn .4s ease;}
  .quiz-result-icon{
    width:52px; height:52px; border-radius:16px; background:var(--accent-it-tint); color:var(--accent-it-ink);
    display:flex; align-items:center; justify-content:center; font-size:24px; margin:0 auto 16px;
  }
  .quiz-result-title{font-size:22px; font-weight:700; margin-bottom:10px;}
  .quiz-result-text{color:var(--ink-soft); font-size:14.5px; max-width:48ch; margin:0 auto; line-height:1.5;}
  .quiz-result-price{justify-content:center; margin-top:18px;}
  .quiz-result-actions{display:flex; gap:12px; justify-content:center; margin-top:24px; flex-wrap:wrap;}
  .quiz-other-wrap{margin-top:12px;}
  .quiz-other-input{
    width:100%; border:1px solid var(--line); border-radius:12px; padding:12px 14px; font-size:14px;
    font-family:'Manrope',sans-serif; background:var(--surface); color:var(--ink);
  }
  .quiz-other-input:focus{outline:2px solid var(--accent-it); outline-offset:1px;}
  @media (max-width:600px){
    .quiz-options{grid-template-columns:1fr;}
    .quiz-card{padding:24px 20px;}
  }

  /* ---------- Quiz inline (inside shop) ---------- */
  .shop-top-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:32px; align-items:start; margin-top:6px;}
  .shop-top-right{display:flex; flex-direction:column; gap:0;}
  @media (max-width:860px){
    .shop-top-grid{grid-template-columns:1fr; gap:24px;}
  }
  .quiz-inline{max-width:none; margin:0;}
  .quiz-inline-head{text-align:center; margin-bottom:14px;}
  .quiz-inline-head h3{font-size:18px; font-weight:700; margin-top:4px;}
  .quiz-card.quiz-compact{max-width:100%; padding:22px 24px; box-shadow:var(--shadow-sm);}
  .quiz-compact .quiz-progress{margin-bottom:16px;}
  .quiz-compact .quiz-q{font-size:15.5px; margin-bottom:14px;}
  .quiz-compact .quiz-options{gap:8px;}
  .quiz-compact .quiz-opt{padding:10px 12px; font-size:12.5px; border-radius:11px;}
  .quiz-compact .quiz-result-icon{width:40px; height:40px; font-size:18px; margin-bottom:10px;}
  .quiz-compact .quiz-result-title{font-size:17px; margin-bottom:6px;}
  .quiz-compact .quiz-result-text{font-size:13px;}
  .quiz-compact .quiz-result-actions{margin-top:16px;}
  @media (max-width:600px){
    .quiz-compact .quiz-options{grid-template-columns:1fr;}
    .quiz-card.quiz-compact{padding:18px 16px;}
  }

  /* ---------- Comparison table + guarantee ---------- */
  .compare-wrap{margin-top:44px;}
  .compare-title{font-size:19px; font-weight:600; margin-bottom:18px; text-align:center;}
  .compare-scroll{overflow-x:auto; border-radius:var(--radius); border:1px solid var(--line); background:var(--surface);}
  .compare-table{width:100%; border-collapse:collapse; min-width:640px; font-size:13.8px;}
  .compare-table th, .compare-table td{padding:14px 18px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top;}
  .compare-table thead th{
    font-family:'IBM Plex Mono',monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:.05em;
    color:var(--ink-faint); font-weight:600; border-bottom:2px solid var(--line);
  }
  .compare-table th.us, .compare-table td.us{
    background:var(--accent-it-tint); color:var(--accent-it-ink); font-weight:700;
  }
  .compare-table tbody td:first-child{color:var(--ink-faint); font-weight:600; font-size:13px;}
  .compare-table tbody tr:last-child td{border-bottom:none;}
  .guarantee-card{
    margin-top:22px; background:linear-gradient(160deg, var(--accent-it), var(--accent-it-ink)); color:#fff; border-radius:var(--radius); padding:26px 28px;
    display:flex; align-items:center; gap:18px;
    backdrop-filter:blur(var(--glass-blur)) saturate(160%);
    -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);
    box-shadow:0 22px 46px -24px rgba(0,0,0,.6);
  }
  .guarantee-card h3{color:#fff; font-size:16.5px; font-weight:700; margin-bottom:4px;}
  .guarantee-card p{color:rgba(255,255,255,.75); font-size:13.8px; line-height:1.5;}
  .guarantee-card .icon{width:44px; height:44px; font-size:20px; flex:none; background:var(--accent-it-tint); color:var(--accent-it-ink);}
  @media (max-width:600px){
    .guarantee-card{flex-direction:column; text-align:center;}
  }

  /* ---------- Floating CTA + chat ---------- */
  .float-stack{
    position:fixed; right:20px; bottom:20px; z-index:45;
    display:flex; flex-direction:column; align-items:flex-end; gap:12px; pointer-events:none;
  }
  .float-chat{
    pointer-events:auto; width:52px; height:52px; border-radius:50%; flex:none;
    background:var(--accent-it); color:#fff; display:flex; align-items:center; justify-content:center;
    box-shadow:var(--shadow); transition:transform .2s cubic-bezier(.34,1.56,.64,1);
  }
  .float-chat:hover{transform:scale(1.08) rotate(-6deg);}
  @media (max-width:600px){
    .float-stack{right:14px; bottom:calc(36px + env(safe-area-inset-bottom, 0px));}
    .float-chat{width:46px; height:46px;}
  }
  @media (max-width:600px){html,body{touch-action:pan-x pan-y;}}
  @media (prefers-reduced-motion: reduce){
    .float-chat{transition:none;}
  }

  .to-top{
    position:fixed; left:20px; bottom:20px; z-index:45; width:48px; height:48px; border-radius:50%;
    background:var(--surface); border:1px solid var(--line); color:var(--ink); display:flex; align-items:center; justify-content:center;
    backdrop-filter:blur(var(--glass-blur)) saturate(160%); -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);
    box-shadow:var(--shadow-sm); cursor:pointer;
    opacity:0; pointer-events:none; transform:translateY(10px) scale(.9);
    transition:opacity .3s ease, transform .3s cubic-bezier(.34,1.56,.64,1), border-color .2s ease;
  }
  .to-top.show{opacity:1; pointer-events:auto; transform:translateY(0) scale(1);}
  .to-top:hover{border-color:var(--accent-it); color:var(--accent-it);}
  @media (max-width:600px){
    .to-top{left:14px; bottom:calc(36px + env(safe-area-inset-bottom, 0px)); width:44px; height:44px;}
  }
  @media (prefers-reduced-motion: reduce){
    .to-top{transition:none;}
  }

  /* ---------- Neural-network cursor trail ---------- */
  .neuro-cursor{
    position:fixed; inset:0; pointer-events:none; z-index:60;
    opacity:0; transition:opacity .4s ease;
  }
  .neuro-cursor.show{opacity:1;}
  @media (prefers-reduced-motion: reduce), (pointer:coarse), (hover:none){
    .neuro-cursor{display:none;}
  }

  @media (max-width:900px){
    .service-card.featured{grid-row:auto;}
    .case-card:nth-child(2){transform:none;}
    .quote-card{transform:none !important;}
    .float-badge{display:none;}
  }

  /* ---------- Price shop ---------- */
  .price-below-badge{
    position:relative; display:flex; align-items:center; gap:14px; max-width:none; margin:0 0 34px;
    background:linear-gradient(178deg, #FFFDF6, #FBF3DE);
    color:#5B4A2A;
    padding:24px 26px 24px 24px;
    border-radius:3px 16px 4px 16px;
    cursor:pointer;
    box-shadow:0 16px 28px -14px rgba(21,34,47,.3);
    transform:rotate(-2.5deg);
    transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease;
  }
  .price-below-badge::before{
    content:""; position:absolute; top:-11px; left:16%; transform:translateX(-50%) rotate(-8deg);
    width:64px; height:22px; background:rgba(255,214,120,.6); border:1px solid rgba(190,150,50,.4);
    box-shadow:0 2px 4px rgba(21,34,47,.12);
  }
  .price-below-badge:hover{transform:rotate(-.5deg) translateY(-3px); box-shadow:0 22px 34px -16px rgba(21,34,47,.36);}
  .price-below-icon{
    flex:none; display:flex; align-items:center; justify-content:center;
    width:50px; height:50px; border-radius:50%; background:rgba(255,255,255,.55);
    font-family:'Caveat',cursive; font-weight:700; font-size:18px; transform:rotate(6deg);
    border:2px dashed rgba(91,74,42,.4); color:#5B4A2A;
  }
  .price-below-text{flex:1; font-family:'Caveat',cursive; font-weight:700; font-size:22px; line-height:1.3; padding-right:6px; color:#4A3A1E;}
  .price-below-arrow{flex:none; font-size:20px; font-weight:700; opacity:.75; align-self:flex-start; margin-top:2px; color:#5B4A2A;}
  @media (max-width:600px){
    .price-below-badge{flex-wrap:wrap; padding:20px 20px 26px; transform:rotate(-2deg);}
    .price-below-arrow{display:none;}
  }
  .price-shop-panel{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
    padding:24px 28px; display:flex; flex-direction:column; gap:14px; box-shadow:var(--shadow-sm);
    max-width:560px; margin:0 auto 8px;
  }
  .price-shop-input-row{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;}
  .price-shop-input-row label{font-weight:700; font-size:14.5px;}
  .price-shop-input-wrap{
    display:flex; align-items:center; gap:8px; border:2px solid var(--line); border-radius:14px;
    padding:8px 14px; background:var(--bg); transition:border-color .15s ease;
  }
  .price-shop-input-wrap:focus-within{border-color:var(--accent-it);}
  .price-shop-input-wrap input{
    border:none; background:transparent; outline:none; width:110px; font-family:'IBM Plex Mono',monospace;
    font-size:19px; font-weight:700; color:var(--ink); -moz-appearance:textfield;
  }
  .price-shop-input-wrap input::-webkit-outer-spin-button, .price-shop-input-wrap input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
  .price-shop-input-wrap span{color:var(--ink-faint); font-size:13.5px; font-weight:600;}
  .price-shop-range{
    -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:99px;
    background:var(--line); outline:none; cursor:pointer;
  }
  .price-shop-range::-webkit-slider-thumb{
    -webkit-appearance:none; appearance:none; width:20px; height:20px; border-radius:50%;
    background:var(--accent-it); border:3px solid var(--surface); box-shadow:var(--shadow-sm); cursor:grab;
  }
  .price-shop-range::-moz-range-thumb{
    width:20px; height:20px; border-radius:50%; background:var(--accent-it); border:3px solid var(--surface);
    box-shadow:var(--shadow-sm); cursor:grab;
  }
  .price-shop-deck-wrap{
    display:flex; align-items:center; justify-content:center; gap:14px; margin-top:32px;
  }
  .price-shop-deck{
    position:relative; width:min(300px,80vw); height:380px; touch-action:pan-y;
  }
  .price-shop-deck .price-card{
    position:absolute; inset:0; width:100%; height:100%; cursor:grab;
    transition:transform .38s cubic-bezier(.22,1,.36,1), opacity .3s ease, box-shadow .3s ease;
  }
  .price-shop-deck .price-card:active{cursor:grabbing;}
  .price-shop-deck .price-card.deck-front{box-shadow:0 22px 40px -18px rgba(21,34,47,.38);}
  .deck-nav{
    flex:none; width:42px; height:42px; border-radius:50%; border:1px solid var(--line);
    background:var(--surface); color:var(--ink); font-size:19px; font-weight:700; cursor:pointer;
    display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-sm);
    transition:transform .18s cubic-bezier(.34,1.56,.64,1), background .18s ease, border-color .18s ease;
  }
  .deck-nav:hover{transform:scale(1.08); border-color:var(--accent-it); background:var(--accent-it-tint);}
  .deck-nav:active{transform:scale(.95);}
  .deck-counter{
    text-align:center; margin-top:14px; font-family:'IBM Plex Mono',monospace; font-size:12.5px;
    color:var(--ink-faint); font-weight:700;
  }
  .deck-hint{text-align:center; margin-top:4px; font-size:12px; color:var(--ink-faint);}
  .deck-spread-toggle{
    display:block; margin:10px auto 0; background:none; border:1px solid var(--line); border-radius:999px;
    padding:8px 18px; font-size:12.5px; font-weight:700; color:var(--ink-soft); cursor:pointer;
    font-family:'Manrope',sans-serif; transition:border-color .18s ease, color .18s ease, background .18s ease;
  }
  .deck-spread-toggle:hover{border-color:var(--accent-it); color:var(--accent-it-ink); background:var(--accent-it-tint);}
  .price-shop-deck.spread{
    display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; height:auto; padding:6px 4px 14px;
    -webkit-overflow-scrolling:touch;
  }
  .price-shop-deck.spread .price-card{
    position:static !important; flex:0 0 210px; width:210px; height:auto;
    transform:none !important; opacity:1 !important; pointer-events:auto !important; z-index:1 !important;
    scroll-snap-align:start; box-shadow:var(--shadow-sm) !important;
  }
  .price-shop-deck-wrap.spread .deck-nav{display:none;}
  .price-shop-deck-wrap.spread{
    width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
    padding-inline:clamp(20px, 3vw, 56px); box-sizing:border-box;
  }
  .price-shop-deck.spread{width:100%;}
  @media (max-width:560px){
    .price-shop-deck{width:min(260px,72vw); height:380px;}
    .deck-nav{width:36px; height:36px; font-size:16px;}
  }
  .price-shop-grid{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:28px;
  }
  .price-card{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
    display:flex; flex-direction:column; box-shadow:var(--shadow-sm);
    transition:transform .3s cubic-bezier(.34,1.3,.64,1), box-shadow .3s ease, opacity .3s ease, filter .3s ease;
  }
  .price-card-img{
    height:96px; display:flex; align-items:center; justify-content:center; font-size:34px;
    background:var(--accent-it-tint); color:var(--accent-it-ink);
  }
  .price-card.acc-purple .price-card-img{background:color-mix(in srgb, var(--accent-purple) 18%, var(--surface)); color:var(--accent-purple-ink);}
  .price-card.acc-school .price-card-img{background:var(--accent-school-tint); color:var(--accent-school-ink);}
  .price-card.acc-yellow .price-card-img{background:color-mix(in srgb, var(--accent-yellow) 22%, var(--surface)); color:var(--accent-yellow-ink);}
  .price-card-body{padding:16px 18px 18px; display:flex; flex-direction:column; gap:10px; flex:1;}
  .price-card-title{font-weight:700; font-size:14.5px; line-height:1.35;}
  .price-card-desc{font-size:12px;line-height:1.45;color:var(--ink-soft);}
  .price-card-price{
    font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:15px; color:var(--accent-it-ink);
    margin-top:auto;
  }
  .price-card-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:10px 14px;
    border-radius:999px; border:2px solid var(--accent-it); background:transparent; color:var(--accent-it-ink);
    font-weight:700; font-size:13.5px; cursor:pointer; font-family:'Manrope',sans-serif;
    transition:background .15s ease, color .15s ease, transform .15s ease;
  }
  .price-card-btn:hover{background:var(--accent-it-tint); transform:translateY(-1px);}
  .price-card-btn.price-card-blue{background:#2456c7; border-color:#2456c7; color:#fff;}
  .price-card-btn.price-card-blue:hover{background:#1744a5; border-color:#1744a5;}
  .price-card-btn.in-cart{background:var(--accent-it); border-color:var(--accent-it); color:#fff;}
  .price-card.locked{opacity:.55; filter:grayscale(.4);}
  .price-card.locked .price-card-btn{border-color:var(--line); color:var(--ink-faint); cursor:not-allowed;}
  .price-card.locked .price-card-btn:hover{background:transparent; transform:none;}
  .price-card-lock-note{font-size:11.5px; color:var(--ink-faint); font-weight:600;}
  .price-card-note{font-size:11.5px; color:var(--accent-it-ink); font-weight:600;}
  .price-shop-unlock{
    margin-top:24px; background:linear-gradient(160deg, var(--accent-it), var(--accent-it-ink)); color:#fff;
    border-radius:var(--radius); padding:24px 28px; display:flex; align-items:center; justify-content:space-between;
    gap:18px; flex-wrap:wrap;
  }
  .price-shop-unlock h3{font-size:17px; margin-bottom:4px;}
  .price-shop-unlock p{color:rgba(255,255,255,.82); font-size:13.5px; max-width:44ch;}
  .price-shop-unlock .btn-it{background:#fff; color:var(--accent-it-ink);}

  /* cart FAB + panel */
  .cart-fab{
    pointer-events:auto; position:relative; width:52px; height:52px; border-radius:50%; flex:none;
    background:var(--surface); border:1px solid var(--line); color:var(--ink); display:flex; align-items:center; justify-content:center;
    box-shadow:var(--shadow); cursor:pointer; font-size:20px; transition:transform .2s cubic-bezier(.34,1.56,.64,1);
  }
  .cart-fab:hover{transform:scale(1.06);}
  .cart-fab-header{width:38px; height:38px; font-size:16px;}
  .cart-fab .cart-badge{
    position:absolute; top:-4px; right:-4px; min-width:19px; height:19px; padding:0 4px; border-radius:99px;
    background:var(--accent-school); color:#fff; font-size:11px; font-weight:800; display:none;
    align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace;
  }
  .cart-fab .cart-badge.show{display:flex;}
  .cart-panel{
    position:fixed; right:20px; top:76px; z-index:46; width:min(340px,calc(100vw - 40px));
    background:var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow);
    padding:18px 20px; display:none; flex-direction:column; gap:10px;
  }
  .cart-panel.open{display:flex;}
  .cart-panel h4{font-size:15px;}
  .cart-empty{font-size:13px; color:var(--ink-faint); padding:6px 0;}
  .cart-item{display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:13px; padding:6px 0; border-top:1px dashed var(--line);}
  .cart-item:first-of-type{border-top:none;}
  .cart-item button{background:none; border:none; color:var(--ink-faint); cursor:pointer; font-size:16px; line-height:1; padding:2px;}
  .cart-total{display:flex; justify-content:space-between; font-weight:700; font-size:14.5px; padding-top:8px; border-top:1px solid var(--line);}
  @media (max-width:600px){
    .cart-panel{right:14px; top:70px;}
  }

  .cases-library-cta{margin-top:30px;padding:22px 26px;border:1px solid #c9d9f8;border-radius:18px;background:#f0f5ff;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
  .cases-library-cta p{margin:0;color:#20334d;font-size:17px;line-height:1.45}
  .prototype-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:16px}
  .prototype-link-card{border:1px solid #dce5f1;border-radius:14px;padding:18px;background:#fff;min-width:0}
  .prototype-link-card h3{font-size:18px;margin:8px 0;overflow-wrap:anywhere}
  .prototype-link-card p{margin:7px 0 14px;color:var(--ink-soft);overflow-wrap:anywhere}
  .prototype-link-card .row-actions{margin-top:12px}
  .prototype-category{font-size:12px;font-weight:800;color:#174a9f;text-transform:uppercase;letter-spacing:.05em}
  .prototype-form{padding:18px;margin-top:15px}
  .prototype-form .grid{padding-top:0}
  .prototype-status{min-height:22px;margin-top:10px}
  @media(max-width:760px){.cases-library-cta{padding:18px}.cases-library-cta .btn{width:100%;text-align:center}}

#cabinet-app .topbar{gap:12px}#cabinet-app .topbar .brand{min-width:0;overflow-wrap:anywhere}
#cabinet-app .cabinet-notification-holder{margin-left:auto;flex:none}
#cabinet-app .cabinet-notification-bell{position:relative;width:44px;height:44px;display:grid;place-items:center;border:1px solid #dce4ef;border-radius:50%;background:#e9f3ff;color:#0b3e96;cursor:pointer}
#cabinet-app .cabinet-notification-count{position:absolute;right:-4px;top:-4px;background:#216df4;color:white;font:700 11px/1 Manrope,sans-serif;border-radius:20px;padding:5px;min-width:20px}
#cabinet-app .cabinet-notification-panel{position:fixed;right:16px;top:78px;width:min(420px,calc(100vw - 24px));max-height:calc(100svh - 190px);overflow:auto;z-index:220;background:#fff;border:1px solid #dce4ef;border-radius:18px;box-shadow:0 16px 45px #14283d30;padding:14px;overscroll-behavior:contain}
#cabinet-app .notification-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:800}
#cabinet-app .cabinet-notification-item{display:grid;gap:6px;text-align:left;white-space:normal;overflow-wrap:anywhere;width:100%;background:#f5f8fc;border:0;border-radius:12px;margin-top:10px;padding:12px;font:14px/1.5 Manrope,sans-serif;color:#14283d;cursor:pointer}
#cabinet-app .cabinet-notification-item time{font-size:11px;color:#65798b}
@media(max-width:760px){#cabinet-app .topbar{padding:10px 12px}#cabinet-app .topbar .brand{font-size:17px}#cabinet-app .cabinet-notification-panel{right:12px;top:70px}}

#cabinet-app{overscroll-behavior-y:contain;overflow-anchor:none;scroll-behavior:auto}
#cabinet-app .client-main,#cabinet-app .cview{min-height:0;overflow:visible}
#cabinet-app .modal-backdrop{overscroll-behavior:contain;touch-action:pan-y}
#cabinet-app .modal-backdrop>.modal{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;overflow-anchor:none}
#cabinet-app .financial-plan-fold{margin-top:18px}#cabinet-app .financial-plan-fold #a-financial-plan{margin-top:12px;box-shadow:none}
#cabinet-app .card[data-resource-key]{overflow:visible}#cabinet-app .card[data-resource-key]>summary{padding:12px 0;min-height:44px;overflow-wrap:anywhere}
@media(max-width:760px){
 #cabinet-app{height:100svh;touch-action:pan-y;-webkit-overflow-scrolling:touch}
 #cabinet-app:has(.modal-backdrop:not(.hidden):not(.minimized):not(.inline-chat)){overflow-y:hidden}
 #cabinet-app .modal-backdrop{inset:0 0 calc(76px + env(safe-area-inset-bottom,0px));padding:10px;align-items:stretch}
 #cabinet-app .modal-backdrop>.modal{width:100%;max-width:100%;height:auto;max-height:100%;margin:0;overflow-y:auto;padding:18px 16px 32px;box-sizing:border-box}
 #cabinet-app .modal-backdrop .row-actions{gap:12px}
 #cabinet-app #a-content,#cabinet-app #c-content{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))!important}
 #cabinet-app .project-page-content{overflow:visible!important;max-height:none!important;touch-action:pan-y}
}

#cabinet-app .payment-review-card,#cabinet-app .payment-proof-form{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}
#cabinet-app .payment-review-actions{display:flex;gap:10px;flex-wrap:wrap}
#cabinet-app .payment-return-form,#cabinet-app .payment-report-fold,#cabinet-app .payment-proof-form label,#cabinet-app .payment-proof-form [role=status],#cabinet-app .payment-review-card [role=status],#cabinet-app .payment-review-comment{width:100%;min-width:0}
#cabinet-app .payment-report-fold>summary{list-style:none;display:inline-flex;margin:8px 0;cursor:pointer}
#cabinet-app .payment-return-form textarea{min-height:80px}#cabinet-app .project-revision textarea{margin-bottom:14px}
#cabinet-app .payment-review-card button,#cabinet-app .payment-review-card span{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#cabinet-app .price-offer-row{flex-wrap:wrap;gap:12px}
@media(max-width:640px){#cabinet-app .project-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#cabinet-app .project-tabs .btn{min-width:0;width:100%;white-space:nowrap;overflow-wrap:normal;word-break:normal}}

#cabinet-app details.private-project-details{padding-inline:12px}.private-details-body{padding:0;display:grid;gap:14px;min-width:0}.private-details-form{display:grid;gap:18px;min-width:0}.private-details-field{display:grid;gap:8px;margin:0;min-width:0}.private-details-field input,.private-details-field textarea,.private-details-field select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px}.private-details-consent{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;text-transform:none;letter-spacing:normal}.private-details-consent input{width:20px;min-width:20px;margin:0}.private-details-form .row-actions{display:flex;flex-wrap:wrap;gap:12px}.private-details-form .row-actions button{max-width:100%;white-space:normal}.private-project-details p{overflow-wrap:anywhere}

@media(max-width:760px){
 #cabinet-app .btn:hover,#cabinet-app .btn:active{transform:none!important}
 #cabinet-app .project-quick-tiles>details{padding:10px}
 #cabinet-app .project-quick-tiles>details>summary{font-size:14px;gap:4px;white-space:nowrap;overflow-wrap:normal}
 #cabinet-app .project-quick-tiles>details>summary::after{width:18px;height:18px;min-width:18px;font-size:16px;flex:none}
}

#cabinet-app.hidden{display:none!important}
#cabinet-app{
  --bg:#F2F5F9;
  --bg-glow-1:rgba(31,111,235,.08);
  --bg-glow-2:rgba(91,79,207,.07);
  --surface:#FFFFFF;
  --surface-2:#F4F7FB;
  --surface-solid:#FFFFFF;
  --ink:#15222F;
  --ink-soft:rgba(21,34,47,.72);
  --ink-faint:rgba(21,34,47,.5);
  --line:#E1E7F0;
  --accent-it:#1F6FEB;
  --accent-it-ink:#0B3E96;
  --accent-it-tint:rgba(31,111,235,.10);
  --accent-yellow:#B9790A;
  --accent-yellow-ink:#7A4F04;
  --accent-purple:#5B4FCF;
  --accent-purple-ink:#372E96;
  --good:#0F9D6B;
  --good-tint:rgba(15,157,107,.12);
  --warn:#C24A2C;
  --warn-tint:rgba(194,74,44,.12);
  --shadow:0 16px 36px -22px rgba(21,34,47,.16);
  --shadow-sm:0 8px 18px -12px rgba(21,34,47,.14);
  --radius:20px;
  --blur:18px;
  color-scheme: light;
}#cabinet-app *{box-sizing:border-box}#cabinet-app, #cabinet-app{margin:0;padding:0}#cabinet-app{
  background:
    radial-gradient(720px 420px at 12% -8%, var(--bg-glow-1), transparent 60%),
    radial-gradient(680px 460px at 108% 12%, var(--bg-glow-2), transparent 55%),
    var(--bg);
  background-attachment:fixed;
  color:var(--ink);
  font-family:Manrope,system-ui,sans-serif;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}#cabinet-app h1, #cabinet-app h2, #cabinet-app h3, #cabinet-app .brand{font-family:'Baloo 2',system-ui,sans-serif}#cabinet-app a{color:var(--accent-it-ink)}#cabinet-app .wrap{max-width:1200px;margin:0 auto;padding:0 20px}#cabinet-app .topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:calc(16px + env(safe-area-inset-top, 0px)) 20px 16px;border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.78);
  -webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));
  position:sticky;top:0;z-index:5;
}#cabinet-app .topbar .brand{font-size:20px;font-weight:800;color:var(--accent-it-ink);text-decoration:none;cursor:default}#cabinet-app .topbar .who{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink-soft)}#cabinet-app .profile-icon-btn{width:40px;height:40px;border-radius:50%;flex:none;background:var(--surface-2);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}#cabinet-app .profile-icon-btn:hover{border-color:var(--accent-it);color:var(--accent-it-ink);background:var(--accent-it-tint)}#cabinet-app .profile-section{margin:22px 0}#cabinet-app .profile-section:first-child{margin-top:0}#cabinet-app .profile-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px dashed var(--line);font-size:14px}#cabinet-app .profile-row:first-of-type{border-top:none}#cabinet-app .profile-row b{color:var(--ink-faint);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em}#cabinet-app .profile-consent-ok{color:var(--accent-it-ink);font-weight:700}#cabinet-app .profile-consent-missing{color:var(--warn)}#cabinet-app .toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}#cabinet-app .toggle-switch{position:relative;width:42px;height:24px;flex:none}#cabinet-app .toggle-switch input{opacity:0;width:0;height:0}#cabinet-app .toggle-slider{position:absolute;inset:0;background:var(--line);border-radius:999px;cursor:pointer;transition:background .15s ease}#cabinet-app .toggle-slider::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .15s ease;box-shadow:0 1px 3px rgba(0,0,0,.3)}#cabinet-app .toggle-switch input:checked + .toggle-slider{background:var(--accent-it)}#cabinet-app .toggle-switch input:checked + .toggle-slider::before{transform:translateX(18px)}#cabinet-app .avatar-circle{
  width:44px;height:44px;border-radius:50%;flex:none;
  background:var(--accent-it-tint);color:var(--accent-it-ink);
  display:flex;align-items:center;justify-content:center;
  font-family:'Baloo 2',sans-serif;font-weight:700;font-size:15px;letter-spacing:.02em;
}#cabinet-app .avatar-circle.sm{width:32px;height:32px;font-size:12.5px}#cabinet-app .btn{
  display:inline-flex;align-items:center;gap:8px;justify-content:center;
  font-family:Manrope,sans-serif;font-weight:700;font-size:15px;
  padding:11px 20px;border-radius:999px;border:2px solid transparent;
  cursor:pointer;text-decoration:none;transition:transform .15s ease;
}#cabinet-app .btn:active{transform:scale(.97)}#cabinet-app .btn-primary{background:var(--accent-it);color:#fff;box-shadow:var(--shadow-sm)}#cabinet-app .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}#cabinet-app .btn-sm{padding:7px 14px;font-size:13px;border-radius:999px}#cabinet-app .btn:disabled{opacity:.55;cursor:not-allowed}#cabinet-app .card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow-sm);
  -webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));
}#cabinet-app .card:hover{transform:none;}#cabinet-app .center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}#cabinet-app .auth-card{max-width:420px;width:100%;text-align:center}#cabinet-app .auth-card h1{font-size:26px;margin:6px 0 6px;color:var(--ink)}#cabinet-app .auth-card p{color:var(--ink-soft);font-size:15px;line-height:1.5}#cabinet-app .pw-field{position:relative}#cabinet-app .pw-field input{padding-right:44px}#cabinet-app .pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:6px;color:var(--ink-faint);display:flex;align-items:center;justify-content:center}#cabinet-app .pw-toggle:hover{color:var(--ink)}#cabinet-app .consent-row{display:flex;align-items:flex-start;gap:9px;text-align:left}#cabinet-app input[type=email], #cabinet-app input[type=text], #cabinet-app input[type=tel], #cabinet-app input[type=password], #cabinet-app input[type=number], #cabinet-app input[type=date], #cabinet-app input[type=time], #cabinet-app input[type=file], #cabinet-app textarea, #cabinet-app select{
  width:100%;font-family:Manrope,sans-serif;font-size:15px;
  padding:12px 14px;border-radius:14px;border:2px solid var(--line);
  background:var(--surface-2);color:var(--ink);margin-top:6px;
}#cabinet-app input::placeholder, #cabinet-app textarea::placeholder{color:var(--ink-faint)}#cabinet-app textarea{resize:vertical;min-height:70px}#cabinet-app label{display:block;font-size:13px;font-weight:700;color:var(--ink-soft);margin-top:14px;text-align:left}#cabinet-app .msg{font-size:14px;border-radius:12px;padding:10px 14px;margin-top:14px}#cabinet-app .msg-ok{background:var(--good-tint);color:var(--good)}#cabinet-app .msg-err{background:var(--warn-tint);color:var(--warn)}#cabinet-app .grid{display:grid;gap:18px;padding:24px 0}#cabinet-app .grid-2{grid-template-columns:repeat(2,1fr)}
#cabinet-app .project-cards-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;padding:24px 0}
#cabinet-app .project-card-sq{padding:18px;display:flex;flex-direction:column;gap:10px;min-height:150px}
#cabinet-app .project-card-sq .pc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
#cabinet-app .project-card-sq .pc-title{font-weight:800;font-size:15px;color:var(--ink);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
#cabinet-app .project-card-sq .pc-meta{font-size:12px;color:var(--ink-faint);margin-top:auto}
#cabinet-app .project-card-sq .mini-stage-bar{margin:0}
#cabinet-app .p-top-progress{height:7px;border-radius:14px 14px 0 0;margin:-24px -24px 4px;background:var(--surface-2);overflow:hidden}
#cabinet-app .p-top-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent-it),var(--good));transition:width .6s cubic-bezier(.22,1,.36,1)}
#cabinet-app .p-top-progress-label{text-align:right;margin:0 0 14px;font-weight:800;letter-spacing:.02em}
#cabinet-app .modal-backdrop.minimized{background:transparent;align-items:flex-end;justify-content:flex-end;padding:0;pointer-events:none}
#cabinet-app .chat-modal-minimized{pointer-events:auto;background:var(--accent-it);color:#fff;padding:12px 18px;border-radius:999px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;cursor:pointer;box-shadow:var(--shadow);margin:0 20px 20px 0;max-width:240px;overflow:hidden}
#cabinet-app .chat-modal-minimized span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cabinet-app .chat-minimized-stack{position:fixed;right:20px;bottom:20px;z-index:120;display:flex;flex-direction:column-reverse;gap:10px;pointer-events:none;max-width:min(280px,calc(100vw - 40px))}
#cabinet-app .chat-minimized-stack .chat-modal-minimized{pointer-events:auto;margin:0;position:relative}
#cabinet-app .chat-minimized-stack .cmn-unread{flex:none;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#fff;color:var(--accent-it-ink);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace}
@media (max-width:640px){
  #cabinet-app .modal-backdrop#chat-modal-backdrop:not(.minimized){padding:0;align-items:stretch;justify-content:stretch}
  #cabinet-app .modal-backdrop#chat-modal-backdrop:not(.minimized) > .modal{
    width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;
    padding-top:calc(20px + env(safe-area-inset-top,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));
    display:flex;flex-direction:column;
  }
  #cabinet-app .modal-backdrop#chat-modal-backdrop:not(.minimized) > .modal .thread{flex:1;max-height:none}
}
@media (max-width:640px){
  /* iOS зумит страницу при тапе в поле мельче 16px — держим 16px, чтобы кабинет не «прыгал» при вводе */
  #cabinet-app input[type=email], #cabinet-app input[type=text], #cabinet-app input[type=tel],
  #cabinet-app input[type=password], #cabinet-app input[type=number], #cabinet-app input[type=date],
  #cabinet-app input[type=time], #cabinet-app textarea, #cabinet-app select{
    font-size:16px;
  }
}
@media (max-width:900px){#cabinet-app .grid-2{grid-template-columns:1fr}}#cabinet-app .pill{display:inline-block;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px}#cabinet-app .pill-ожидание_менеджера{background:rgba(185,121,10,.16);color:var(--accent-yellow)}#cabinet-app .pill-заявка{background:var(--accent-yellow);color:var(--accent-yellow-ink)}#cabinet-app .pill-в_работе{background:var(--accent-it-tint);color:var(--accent-it-ink)}#cabinet-app .pill-на_паузе{background:var(--surface-2);color:var(--ink-soft)}#cabinet-app .pill-на_согласовании{background:rgba(91,79,207,.14);color:var(--accent-purple)}#cabinet-app .pill-завершен{background:var(--good-tint);color:var(--good)}#cabinet-app .pill-отменен{background:var(--warn-tint);color:var(--warn)}#cabinet-app .pill-обсуждение{background:rgba(91,79,207,.14);color:var(--accent-purple)}#cabinet-app .pill-тз_на_согласовании{background:rgba(91,79,207,.14);color:var(--accent-purple)}#cabinet-app .pill-согласование_цены{background:rgba(91,79,207,.14);color:var(--accent-purple)}#cabinet-app .pill-заключение_договора{background:rgba(185,121,10,.16);color:var(--accent-yellow)}#cabinet-app .pill-финальная_проверка{background:rgba(185,121,10,.16);color:var(--accent-yellow)}#cabinet-app .project-card h3{margin:0 0 4px;font-size:19px;color:var(--ink)}#cabinet-app .project-meta{color:var(--ink-soft);font-size:13px;margin-bottom:10px}#cabinet-app .milestone-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px dashed var(--line);font-size:14px}#cabinet-app .milestone-row:first-of-type{border-top:none}#cabinet-app .milestone-dot{width:10px;height:10px;border-radius:50%;flex:none}#cabinet-app .dot-todo{background:var(--ink-faint)}#cabinet-app .dot-in_progress{background:var(--accent-yellow)}#cabinet-app .dot-done{background:var(--good)}#cabinet-app .section-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-weight:800;margin:16px 0 6px}#cabinet-app .stage-stepper{display:flex;align-items:flex-start;gap:0;margin:10px 0;overflow-x:auto;padding-bottom:2px}#cabinet-app .stage-step{display:flex;flex-direction:column;align-items:center;gap:5px;flex:none;min-width:58px}#cabinet-app .stage-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:var(--surface-2);color:var(--ink-faint);border:2px solid var(--line);flex:none}#cabinet-app .stage-step.done .stage-dot{background:var(--accent-it);color:var(--accent-it-ink);border-color:var(--accent-it)}#cabinet-app .stage-step.active .stage-dot{background:var(--accent-yellow);color:var(--accent-yellow-ink);border-color:var(--accent-yellow)}#cabinet-app .stage-label{font-size:10px;color:var(--ink-faint);text-align:center;line-height:1.2}#cabinet-app .stage-step.active .stage-label{color:var(--ink);font-weight:800}#cabinet-app .stage-step.done .stage-label{color:var(--ink-soft)}#cabinet-app .stage-step.clickable{cursor:pointer}#cabinet-app .stage-step.clickable:hover .stage-dot{transform:scale(1.12);box-shadow:var(--shadow-sm)}#cabinet-app .stage-step.clickable:hover .stage-label{color:var(--accent-it-ink)}#cabinet-app .stage-line{flex:1;height:2px;background:var(--line);margin-top:12px;min-width:12px}#cabinet-app .stage-line.done{background:var(--accent-it)}#cabinet-app .stage-side-note{font-size:13px;font-weight:800;color:var(--warn);margin:10px 0}#cabinet-app .stage-advance-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 18px}#cabinet-app .danger-zone{margin-top:28px;padding-top:16px;border-top:1px dashed var(--warn)}#cabinet-app .danger-zone .section-title{color:var(--warn)}#cabinet-app .btn.danger-armed{background:var(--warn) !important;color:#fff !important;border-color:var(--warn) !important;animation:dangerPulse 1s ease-in-out infinite}@keyframes dangerPulse{0%,100%{opacity:1}50%{opacity:.72}}#cabinet-app .mini-stage-bar{display:flex;gap:3px;margin-bottom:10px}#cabinet-app .mini-stage-seg{flex:1;height:6px;border-radius:3px;background:var(--line)}#cabinet-app .mini-stage-seg.done{background:var(--accent-it)}#cabinet-app .mini-stage-seg.active{background:var(--accent-yellow)}#cabinet-app .mini-stage-note{font-weight:800;color:var(--warn);margin-bottom:10px}#cabinet-app .project-card{margin-bottom:10px}#cabinet-app .project-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}#cabinet-app .project-card-title{font-weight:700}#cabinet-app .project-card-meta{font-size:13px;color:var(--ink-faint);margin-top:2px}#cabinet-app /* ---------- Планировщик (день/неделя с часовыми слотами) ---------- */
.planner-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}#cabinet-app .planner-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#cabinet-app .planner-title{font-weight:800;font-size:15px;min-width:180px;text-align:center}#cabinet-app .planner-view-toggle{display:flex;gap:4px;background:var(--surface-2);border-radius:999px;padding:3px}#cabinet-app .planner-view-toggle button{border:none;background:transparent;color:var(--ink-soft);font-weight:700;font-size:13px;padding:6px 14px;border-radius:999px;cursor:pointer;font-family:inherit}#cabinet-app .planner-view-toggle button.active{background:var(--accent-it);color:#fff}#cabinet-app .planner-toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#cabinet-app .planner-alldays{display:grid;gap:4px;margin-bottom:8px;align-items:start}#cabinet-app .planner-allday-label{color:var(--ink-faint);display:flex;align-items:flex-start;justify-content:flex-end;padding:4px 6px 0 0;font-size:11px}#cabinet-app .planner-allday-cell{background:var(--surface-2);border-radius:8px;padding:4px;min-height:30px}#cabinet-app .planner-allday-chip{display:block;font-size:11px;font-weight:700;background:var(--surface);color:var(--ink-soft);padding:2px 7px;border-radius:999px;margin:0 0 3px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#cabinet-app .planner-allday-chip.overdue{background:var(--warn-tint);color:var(--warn)}#cabinet-app .planner-scroll{max-height:520px;overflow-y:auto;overflow-x:auto;border:1px solid var(--line);border-radius:14px;position:relative}#cabinet-app .planner-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}#cabinet-app .planner-month-headcell{background:var(--surface-2);text-align:center;padding:5px 4px;font-size:11px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em}#cabinet-app .planner-month-cell{background:var(--surface);min-height:58px;padding:4px 5px;cursor:pointer;display:flex;flex-direction:column;gap:2px}#cabinet-app .planner-month-cell:hover{background:var(--surface-2)}#cabinet-app .planner-month-cell.muted{color:var(--ink-faint)}#cabinet-app .planner-month-cell.muted .planner-month-daynum{color:var(--ink-faint)}#cabinet-app .planner-month-daynum{font-size:12px;font-weight:700;color:var(--ink)}#cabinet-app .planner-month-cell.today .planner-month-daynum{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:var(--accent-it);color:#fff}#cabinet-app .planner-month-chip{font-size:9.5px;font-weight:700;background:var(--accent-it-tint);color:var(--accent-it-ink);padding:1px 5px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}#cabinet-app .planner-month-chip.deadline{background:var(--warn-tint);color:var(--warn)}#cabinet-app .planner-month-more{font-size:9.5px;color:var(--ink-faint);padding:0 5px}#cabinet-app .planner-grid{display:grid;position:relative;min-width:480px}#cabinet-app .planner-daycol-head{text-align:center;padding:8px 4px;font-size:11.5px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);border-left:1px solid var(--line);position:sticky;top:0;background:#FFFFFF;z-index:2}#cabinet-app .planner-daycol-head.today{color:var(--accent-it-ink)}#cabinet-app .planner-hourcol{display:flex;flex-direction:column}#cabinet-app .planner-hour-label{font-size:11px;color:var(--ink-faint);text-align:right;padding-right:6px;box-sizing:border-box;position:relative}#cabinet-app .planner-hour-label span{position:absolute;right:6px;top:-7px;background:#FFFFFF;padding-left:2px}#cabinet-app .planner-daycol{position:relative;border-left:1px solid var(--line)}#cabinet-app .planner-hourline{border-bottom:1px dashed var(--line);box-sizing:border-box;cursor:pointer}#cabinet-app .planner-hourline:hover{background:var(--surface-2)}#cabinet-app .planner-event{position:absolute;left:3px;right:3px;background:var(--accent-it);color:#fff;border-radius:8px;padding:3px 6px;font-size:11.5px;font-weight:700;overflow:hidden;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.3);z-index:1;line-height:1.25}#cabinet-app .planner-event .pe-time{font-weight:800;opacity:.85;display:block;font-size:10.5px}#cabinet-app .thread{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:10px 0}#cabinet-app .bubble{padding:10px 14px;border-radius:14px;font-size:14px;max-width:85%;line-height:1.4}#cabinet-app .bubble-me{align-self:flex-end;background:var(--accent-it);color:#fff}#cabinet-app .bubble-them{align-self:flex-start;background:var(--surface-2);color:var(--ink)}#cabinet-app .bubble time{display:block;font-size:11px;opacity:.65;margin-top:3px}#cabinet-app .bubble .reply-quote{display:block;padding:6px 9px;margin-bottom:6px;border-left:2px solid rgba(255,255,255,.4);border-radius:6px;background:rgba(0,0,0,.12);font-size:12.5px;opacity:.85;white-space:pre-wrap}#cabinet-app .bubble-them .reply-quote{border-left-color:var(--accent-it);background:rgba(0,0,0,.18)}#cabinet-app .bubble .att-file{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;border-radius:10px;background:rgba(0,0,0,.15);color:inherit;text-decoration:none;font-size:12.5px;font-weight:700}#cabinet-app .bubble .att-img{display:block;max-width:220px;max-height:220px;border-radius:10px;margin-top:6px;cursor:pointer}#cabinet-app .bubble.clickable-reply{cursor:pointer}#cabinet-app .reply-preview{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;margin-top:8px;border-radius:10px;background:var(--surface-2);border-left:2px solid var(--accent-it);font-size:12.5px;color:var(--ink-soft)}#cabinet-app .reply-preview button{background:none;border:none;color:var(--ink-faint);cursor:pointer;font-size:15px;line-height:1;padding:0 2px}#cabinet-app .msg-form{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;align-items:flex-end}#cabinet-app .msg-form textarea{flex:1;min-height:44px}#cabinet-app .msg-attach-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:2px solid var(--line);background:var(--surface-2);color:var(--ink-soft);cursor:pointer;font-size:16px;flex:none}#cabinet-app .msg-attach-btn:hover{border-color:var(--accent-it);color:var(--ink)}#cabinet-app .msg-pending-file{font-size:12px;color:var(--ink-faint);width:100%;order:3}#cabinet-app .progress-wrap{margin:10px 0 4px}#cabinet-app .progress-track{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}#cabinet-app .progress-fill{height:100%;background:var(--accent-it);border-radius:999px;transition:width .3s ease}#cabinet-app .progress-label{font-size:12px;color:var(--ink-faint);margin-top:5px;font-weight:700}#cabinet-app .bargain-note{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:var(--accent-it-tint);border:1px solid var(--accent-it);font-size:13px;color:var(--accent-it-ink);margin:10px 0}#cabinet-app .bargain-note .ic{flex:none}#cabinet-app .p-deadline-note{padding:10px 12px;border-radius:14px;background:var(--warn-tint);border:1px solid var(--accent-yellow);font-size:13px;color:var(--ink)}#cabinet-app .p-deadline-note .ic{flex:none}#cabinet-app .price-block{background:var(--surface-2);border-radius:14px;padding:14px;margin:10px 0}#cabinet-app .price-block .pv{font-family:'Baloo 2',sans-serif;font-size:22px;font-weight:800;color:var(--accent-it-ink);margin-bottom:6px}#cabinet-app .price-offer-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-top:1px dashed var(--line);font-size:13px}#cabinet-app .price-offer-row:first-of-type{border-top:none}#cabinet-app .offer-form{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}#cabinet-app .offer-form input[type=number]{flex:1;min-width:120px;margin-top:0}#cabinet-app .doc-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:14px;border-top:1px dashed var(--line);flex-wrap:wrap}#cabinet-app .doc-row:first-of-type{border-top:none}#cabinet-app .doc-kind-tag{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:var(--accent-purple);color:#fff;margin-left:6px}#cabinet-app .doc-view-only-tag{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:var(--warn-tint);color:var(--warn);margin-left:6px}#cabinet-app .viewer-backdrop{position:fixed;inset:0;background:rgba(4,6,5,.85);z-index:200;display:flex;flex-direction:column}#cabinet-app .viewer-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#FFFFFF;border-bottom:1px solid var(--line)}#cabinet-app .viewer-bar .vb-title{font-weight:800;color:var(--ink)}#cabinet-app .viewer-bar .vb-note{font-size:12px;color:var(--accent-yellow)}#cabinet-app .viewer-frame-wrap{flex:1;padding:18px;display:flex}#cabinet-app .viewer-frame-wrap iframe{flex:1;width:100%;border:none;border-radius:14px;background:#fff}#cabinet-app table{width:100%;border-collapse:collapse;font-size:14px}#cabinet-app .table-scroll{overflow-x:auto;max-width:100%}#cabinet-app th, #cabinet-app td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);color:var(--ink)}#cabinet-app th{color:var(--ink-faint);font-size:12px;text-transform:uppercase;letter-spacing:.04em}#cabinet-app tr.clickable{cursor:pointer}#cabinet-app tr.clickable:hover{background:var(--surface-2)}#cabinet-app .clickable{cursor:pointer}#cabinet-app .card.clickable:hover{border-color:var(--accent-it)}#cabinet-app .pill{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;min-width:0;box-sizing:border-box}#cabinet-app /* Заявки: карточками, #cabinet-app а не таблицей — тогда длинные имена/контакты/источники просто
   переносятся на следующую строку внутри карточки и никогда не раздувают контейнер вбок, #cabinet-app при любой ширине окна, #cabinet-app и кнопка «Зайти в заявку» всегда видна на своей строке. */
#a-leads-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}#cabinet-app .lead-card{padding:12px 14px;display:flex;flex-direction:column}#cabinet-app .lead-card-top{display:flex;justify-content:space-between;align-items:center;gap:6px}#cabinet-app .lead-card-name{font-weight:800;color:var(--ink);font-size:14px;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#cabinet-app .lead-card-meta{font-size:11px;color:var(--ink-faint)}#cabinet-app .lead-card-service{font-size:12.5px;font-weight:700;color:var(--accent-it-ink);margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#cabinet-app .lead-card-row{font-size:12px;color:var(--ink-soft);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#cabinet-app .lead-card-msg{font-size:11.5px;color:var(--ink-faint);margin-top:6px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#cabinet-app .lead-card-bottom{margin-top:10px}#cabinet-app .lead-card-bottom button{width:100%}#cabinet-app .lead-group-card{grid-column:span 2}#cabinet-app .lead-group-items{margin-top:10px;display:flex;flex-direction:column;gap:6px}#cabinet-app .lead-group-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit}#cabinet-app .lead-group-item:hover{background:var(--surface-2)}#cabinet-app .lead-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}#cabinet-app .lead-filter-pills{display:flex;gap:6px;flex-wrap:wrap}#cabinet-app .lead-filter-pill{padding:6px 14px;border-radius:999px;border:2px solid var(--line);background:var(--surface);color:var(--ink-soft);font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit}#cabinet-app .lead-filter-pill.active{background:var(--accent-it);border-color:var(--accent-it);color:#fff}#cabinet-app .lead-filter-select{min-width:170px;margin-top:0}#cabinet-app .tabs{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}#cabinet-app .tab{padding:9px 18px;border-radius:999px;border:2px solid var(--line);background:var(--surface);color:var(--ink-soft);font-weight:700;font-size:14px;cursor:pointer}#cabinet-app .tab.active{background:var(--accent-it);border-color:var(--accent-it);color:#fff}#cabinet-app .client-layout{display:grid;grid-template-columns:230px 1fr 250px;gap:24px;align-items:start;padding:24px 0 60px}#cabinet-app .client-nav{display:flex;flex-direction:column;gap:6px;flex:none;position:sticky;top:84px}#cabinet-app .nav-item-logout{margin-top:10px;padding-top:16px;border-top:1px solid var(--line);color:var(--ink-faint)}#cabinet-app .nav-item-logout:hover{color:var(--warn);background:var(--warn-tint)}#cabinet-app .sidebar-profile{display:flex;align-items:center;gap:12px;padding:2px 6px 18px;margin-bottom:8px;border-bottom:1px solid var(--line)}#cabinet-app .sidebar-profile-name{font-weight:800;font-size:14.5px;color:var(--ink);line-height:1.3}#cabinet-app .sidebar-profile-email{font-size:11.5px;color:var(--ink-faint);word-break:break-all;line-height:1.3}#cabinet-app .client-nav-item{
  display:flex;align-items:center;gap:10px;
  text-align:left;padding:11px 14px;border-radius:14px;border:2px solid transparent;
  background:transparent;color:var(--ink-soft);font-family:Manrope,sans-serif;
  font-weight:700;font-size:14px;cursor:pointer;
}#cabinet-app .client-nav-item .nav-ico{font-size:15px;width:18px;display:inline-flex;align-items:center;justify-content:center;flex:none}#cabinet-app .client-nav-item:hover{background:var(--surface-2)}#cabinet-app .client-nav-item.active{background:var(--accent-it);color:#fff}#cabinet-app .nav-badge{margin-left:auto;background:var(--accent-yellow);color:var(--accent-yellow-ink);font-size:11px;font-weight:800;border-radius:999px;padding:2px 8px;min-width:20px;text-align:center}#cabinet-app .client-nav-item.active .nav-badge{background:rgba(255,255,255,.28);color:#fff}#cabinet-app .sidebar-cta{margin-top:12px;padding:16px;border-radius:16px;background:var(--accent-it-tint);color:var(--accent-it-ink)}#cabinet-app .sidebar-cta-title{font-weight:800;margin-bottom:6px;font-size:14px}#cabinet-app .sidebar-cta-text{font-size:12.5px;line-height:1.4;margin-bottom:12px;opacity:.9}#cabinet-app .client-main{min-width:0}#cabinet-app .client-rail{display:flex;flex-direction:column;gap:20px;position:sticky;top:84px}#cabinet-app .rail-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-weight:800;margin-bottom:12px}#cabinet-app .rail-stat{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px dashed var(--line);font-size:13.5px;color:var(--ink-soft)}#cabinet-app .rail-stat:first-of-type{border-top:none}#cabinet-app .rail-stat b{color:var(--ink);font-size:15px}#cabinet-app .cview.hidden{display:none!important}
@media (max-width:1080px){#cabinet-app .client-layout{grid-template-columns:210px 1fr}#cabinet-app .client-rail{grid-column:1 / -1;position:static;flex-direction:row;flex-wrap:wrap}#cabinet-app .client-rail > .card{flex:1;min-width:240px}}
@media (max-width:760px){#cabinet-app .client-layout{grid-template-columns:1fr;padding-top:16px}#cabinet-app .client-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:static;width:100%}#cabinet-app .sidebar-profile, #cabinet-app .sidebar-cta{display:none}#cabinet-app .client-nav-item{white-space:nowrap}#cabinet-app .nav-item-logout{grid-column:1 / -1;margin-top:2px;padding-top:12px;border-top:1px solid var(--line);justify-content:center}#cabinet-app .client-rail{flex-direction:column}#cabinet-app .client-rail > .card{min-width:0}}#cabinet-app /* ---- Лента услуг («закажите ещё») — простые стеклянные кнопки, #cabinet-app без иконок ---- */
.service-ribbon-wrap{margin:0 0 28px}#cabinet-app .service-ribbon{display:flex;flex-direction:column;gap:10px}#cabinet-app .service-glass-btn{
  display:block;width:100%;text-align:left;padding:14px 16px;border-radius:16px;
  background:var(--surface);border:1px solid var(--line);
  -webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));
  color:var(--ink);font-family:Manrope,sans-serif;font-weight:700;font-size:13.5px;
  cursor:pointer;transition:transform .15s ease,background .15s ease;
}#cabinet-app .service-glass-btn:hover{background:var(--surface-2);transform:translateY(-2px)}#cabinet-app .service-glass-btn .price-sub{display:block;margin-top:4px;font-weight:600;font-size:11.5px;color:var(--ink-faint)}#cabinet-app .service-order-prices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}#cabinet-app .service-order-price{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--accent-it-tint);color:var(--accent-it-ink)}#cabinet-app .kp-service-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px dashed var(--line);cursor:pointer;font-size:14px}#cabinet-app .kp-service-row:first-of-type{border-top:none}#cabinet-app .kp-service-row input{width:auto;margin:3px 0 0}#cabinet-app .brief-section{margin:18px 0 0}#cabinet-app .brief-section-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-weight:800;margin:0 0 10px}#cabinet-app .brief-q-row{margin-bottom:14px}#cabinet-app .brief-q-row:last-child{margin-bottom:0}#cabinet-app .brief-q-label{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:7px}#cabinet-app .brief-opt-group{display:flex;flex-wrap:wrap;gap:7px}#cabinet-app .brief-opt-btn{padding:8px 14px;border-radius:999px;border:2px solid var(--line);background:var(--surface-2);color:var(--ink-soft);font-family:Manrope,sans-serif;font-weight:700;font-size:12.5px;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}#cabinet-app .brief-opt-btn:hover{border-color:var(--accent-it)}#cabinet-app .brief-opt-btn.active{background:var(--accent-it);border-color:var(--accent-it);color:#fff}#cabinet-app .brief-opt-btn.multi.active{background:var(--accent-purple);border-color:var(--accent-purple);color:#fff}#cabinet-app .brief-select-wrap{margin:0;position:relative}#cabinet-app .brief-number-stepper{display:flex;align-items:center;gap:12px}#cabinet-app .brief-number-stepper button{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);background:var(--surface-2);color:var(--ink);font-weight:800;font-size:16px;cursor:pointer;transition:border-color .12s ease,background .12s ease;flex:none}#cabinet-app .brief-number-stepper button:hover{border-color:var(--accent-it)}#cabinet-app .brief-number-stepper button:disabled{opacity:.4;cursor:default}#cabinet-app .brief-number-stepper .brief-number-value{font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:16px;min-width:22px;text-align:center}#cabinet-app .brief-select-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;
  text-align:left;font-family:Manrope,sans-serif;font-size:13.5px;font-weight:700;
  padding:11px 14px;border-radius:14px;border:2px solid var(--line);
  background:var(--surface-2);color:var(--ink);cursor:pointer;transition:border-color .12s ease}#cabinet-app .brief-select-btn:hover{border-color:var(--accent-it)}#cabinet-app .brief-select-btn .chev{color:var(--ink-faint);font-size:11px;transition:transform .15s ease;flex-shrink:0}#cabinet-app .brief-select-btn.open{border-color:var(--accent-it)}#cabinet-app .brief-select-btn.open .chev{transform:rotate(180deg)}#cabinet-app .brief-select-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:220px;overflow-y:auto;
  background:#FFFFFF;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);
  z-index:60;padding:6px}#cabinet-app .brief-select-panel.hidden{display:none}#cabinet-app .brief-select-option{padding:9px 12px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--ink-soft);cursor:pointer}#cabinet-app .brief-select-option:hover{background:var(--surface-2);color:var(--ink)}#cabinet-app .brief-select-option.active{background:var(--accent-it-tint);color:var(--accent-it-ink)}#cabinet-app .brief-total-box{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:baseline}#cabinet-app .brief-total-item .tl{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-weight:800}#cabinet-app .brief-total-item .tv{font-family:'Baloo 2',sans-serif;font-size:22px;font-weight:800;color:var(--accent-it-ink)}#cabinet-app .thread-locked{color:var(--ink-faint);font-size:13.5px;padding:10px 0;border-top:1px dashed var(--line)}#cabinet-app .modal-backdrop{position:fixed;inset:0;background:rgba(4,6,5,.6);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}#cabinet-app .modal{background:#FFFFFF;border:1px solid var(--line);border-radius:var(--radius);padding:24px;max-width:520px;width:100%;max-height:85vh;overflow-y:auto;overflow-x:hidden;box-shadow:var(--shadow)}#cabinet-app .modal h3{margin-top:0;color:var(--ink)}#cabinet-app .row-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}#cabinet-app .chat-modal-layout{display:flex;gap:24px;align-items:stretch}#cabinet-app .chat-modal-main{flex:1;min-width:0}#cabinet-app .chat-modal-notes{flex:0 0 260px;border-left:1px solid var(--line);padding-left:24px;display:flex;flex-direction:column}#cabinet-app .chat-modal-notes textarea{flex:1;resize:vertical}@media (max-width:760px){#cabinet-app .chat-modal-wide{max-width:520px !important}#cabinet-app .chat-modal-layout{flex-direction:column}#cabinet-app .chat-modal-notes{flex:none;border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:16px;margin-top:16px}}#cabinet-app .empty{color:var(--ink-faint);font-size:14px;padding:20px 0;text-align:center}#cabinet-app .loader{text-align:center;padding:60px 20px;color:var(--ink-faint)}#cabinet-app .hidden{display:none!important}#cabinet-app .small{font-size:12px;color:var(--ink-faint)}#cabinet-app .field-hint{font-size:12px;color:var(--ink-faint);margin-top:4px}#cabinet-app .brief-grid{display:flex;flex-direction:column;gap:0}#cabinet-app .brief-row{display:flex;gap:10px;flex-wrap:wrap;padding:7px 0;border-top:1px dashed var(--line);font-size:13.5px}#cabinet-app .brief-row:first-child{border-top:none}#cabinet-app .brief-label{flex:0 0 auto;min-width:160px;max-width:220px;color:var(--ink-faint);font-weight:700}#cabinet-app .brief-value{flex:1;min-width:120px;color:var(--ink)}
/* Cabinet workspace: one persistent navigation surface for both roles. */
#cabinet-app .client-nav{
  min-height:calc(100dvh - 104px);padding:18px 12px;border-radius:20px;
  background:#14283d;box-shadow:0 16px 36px rgba(17,43,70,.14);
  z-index:51;
}
#cabinet-app .client-nav .sidebar-profile{border-color:rgba(255,255,255,.15)}
#cabinet-app .client-nav .sidebar-profile-name{color:#fff}
#cabinet-app .client-nav .sidebar-profile-email{color:#aac3da}
#cabinet-app .client-nav .client-nav-item{color:#d8e7f5;min-width:0}
#cabinet-app .client-nav .client-nav-item:hover{background:rgba(255,255,255,.12);color:#fff}
#cabinet-app .client-nav .client-nav-item.active{background:#357fc2;color:#fff}
#cabinet-app .client-nav .nav-badge{background:#76bdf2;color:#0f3554}
#cabinet-app .client-nav .sidebar-cta{background:rgba(255,255,255,.10);color:#e9f4ff}
#cabinet-app .client-nav .nav-item-logout{margin-top:auto;border-color:rgba(255,255,255,.15);color:#c4d7e9}
#cabinet-app .client-nav .nav-item-logout:hover{background:rgba(255,255,255,.13);color:#fff}
#cabinet-app .cabinet-toast{background:#eaf5ff;border-color:#8ec5ef;color:#17456e}
#cabinet-app .cabinet-toast .ct-icon{color:#2380c8}
#cabinet-app .msg-ok{background:#eaf5ff;color:#175f99}
#cabinet-app #a-client-modal-root>.modal-backdrop{z-index:80}
@media (min-width:761px){
  #cabinet-app #c-project-modal-root>.modal-backdrop,
  #cabinet-app #a-modal-root>.modal-backdrop{
    left:calc(max(20px, (100vw - 1200px)/2 + 20px) + 254px);
    padding:12px;
  }
  #cabinet-app .modal.project-fullscreen{width:100%;height:calc(100dvh - 24px)}
}
@media (min-width:761px) and (max-width:1080px){
  #cabinet-app #c-project-modal-root>.modal-backdrop,
  #cabinet-app #a-modal-root>.modal-backdrop{left:254px}
}
@media (max-width:760px){
  #cabinet-app .client-nav{min-height:0;padding:12px;position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  #cabinet-app .client-nav .client-nav-item{white-space:normal;overflow-wrap:anywhere;font-size:12px;padding:10px}
  #cabinet-app .client-nav .nav-item-logout{margin-top:2px}
}
#cabinet-app .viewer-bar{flex-wrap:wrap;gap:8px}
#cabinet-app .viewer-bar .vb-title{min-width:0;overflow-wrap:anywhere}
#cabinet-app .viewer-text{flex:1;min-height:0;overflow:auto;margin:0;padding:18px;border-radius:14px;background:#fff;color:#192534;white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.6 Arial,sans-serif}
@media (max-width:760px){
  #cabinet-app #cview-payments .table-scroll{overflow:visible}
  #cabinet-app #cview-payments table,#cabinet-app #cview-payments tbody,#cabinet-app #cview-payments tr{display:block;width:100%}
  #cabinet-app #cview-payments thead{display:none}
  #cabinet-app #cview-payments tr{padding:10px 0;border-bottom:1px solid var(--line)}
  #cabinet-app #cview-payments tr:last-child{border-bottom:0}
  #cabinet-app #cview-payments td{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:8px 2px;border:0;overflow-wrap:anywhere;text-align:right}
  #cabinet-app #cview-payments td::before{content:attr(data-label);flex:none;color:var(--ink-faint);font-size:12px;font-weight:700;text-align:left}
}


#cabinet-app{position:fixed;inset:0;z-index:99999;overflow-y:auto;overflow-x:hidden;background:#F2F5F9;}
#cabinet-app.hidden{display:none!important}
@media(max-width:760px){
  #cabinet-app{overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}
  #cabinet-app #screen-login.center-screen{display:block;min-height:100dvh;height:auto;padding:64px 16px calc(64px + env(safe-area-inset-bottom,0px))}
  #cabinet-app #screen-login .auth-card{margin-inline:auto}
}
#cabinet-close-btn{position:fixed;top:calc(14px + env(safe-area-inset-top, 0px));right:calc(16px + env(safe-area-inset-right, 0px));z-index:100000;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:#1F6FEB;color:#fff;border:2px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 16px;font-family:Manrope,sans-serif;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 10px 24px -10px rgba(21,34,47,.4);}
#cabinet-close-btn:hover{background:#0B3E96}
#cabinet-app .client-nav .nav-item-close{margin-top:0;color:#c4d7e9;background:transparent;border:1px solid rgba(255,255,255,.18)}
#cabinet-app .client-nav .nav-item-close:hover{background:rgba(255,255,255,.13);color:#fff}
@media (max-width:760px){#cabinet-app .client-nav .nav-item-close{grid-column:1 / -1;justify-content:center}}
@media (max-width:760px){#cabinet-app .client-nav{z-index:auto}}
#cabinet-app .project-secondary-action{display:flex;justify-content:flex-end;padding-top:18px;margin-top:24px;border-top:1px solid var(--line)}
#cabinet-app .project-secondary-action .btn{width:auto!important;min-width:0;max-width:100%;font-size:12px;padding:7px 11px;opacity:.82}
#cabinet-app .client-layout:has(.project-page) .client-rail{display:none}
#cabinet-app #c-content.client-layout:has(.project-page),#cabinet-app #a-content.client-layout:has(.project-page){grid-template-columns:230px minmax(0,1fr)}
@media(max-width:1080px){#cabinet-app #c-content.client-layout:has(.project-page),#cabinet-app #a-content.client-layout:has(.project-page){grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:760px){#cabinet-app #c-content.client-layout:has(.project-page),#cabinet-app #a-content.client-layout:has(.project-page){grid-template-columns:1fr}}
#cabinet-app .project-page .row-actions,#cabinet-app .project-page .msg-form{gap:12px;margin-block:14px}
#cabinet-app .project-page label{margin-top:15px}
#cabinet-app .project-page{position:static;inset:auto;background:none;padding:0;display:block;z-index:auto}
#cabinet-app .project-page>.project-page-content{width:100%;max-width:none!important;height:auto;max-height:none;overflow:visible;box-shadow:none;border:1px solid var(--line);padding:clamp(18px,2.5vw,32px);margin:0 0 28px}
#cabinet-app .project-page .project-panel{padding:12px 0 8px}
#cabinet-app .project-page .project-panel>*+*{margin-top:14px}
#cabinet-app .project-page .project-close{float:right}
#cabinet-app .modal-backdrop#chat-modal-backdrop.inline-chat:not(.minimized){position:static;inset:auto;background:transparent;padding:0;display:block;z-index:auto}
#cabinet-app .modal-backdrop#chat-modal-backdrop.inline-chat:not(.minimized)>.modal{max-width:none!important;width:100%;height:auto;max-height:none;padding:0;border:0;border-radius:0;box-shadow:none;display:block}
#cabinet-app .inline-chat .thread{max-height:340px!important;overflow-y:auto}
#cabinet-app .inline-chat #chat-modal-minimize,#cabinet-app .inline-chat #chat-modal-close{display:none}
#cabinet-toast-root{position:fixed;bottom:20px;right:16px;z-index:100001;display:flex;flex-direction:column;gap:8px;max-width:min(320px,90vw)}
.cabinet-toast{background:var(--surface-solid);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:12px 16px;box-shadow:var(--shadow);font-family:Manrope,sans-serif;font-size:13.5px;display:flex;align-items:flex-start;gap:10px;animation:popIn .3s cubic-bezier(.34,1.56,.64,1);cursor:pointer}
.cabinet-toast-action{cursor:default;flex-wrap:wrap;align-items:center}
.cabinet-toast .ct-icon{flex:none;font-size:16px}
.cabinet-toast .ct-text b{display:block;font-weight:800;margin-bottom:2px}
#cabinet-close-btn:active{transform:scale(.97)}
#cabinet-app .topbar{padding-right:195px; flex-wrap:nowrap; gap:10px;}
#cabinet-app .topbar .brand{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0;}
@media (max-width:520px){
  #cabinet-close-btn{padding:0; width:44px; height:44px; justify-content:center; border-radius:50%; position:fixed;}
  #cabinet-close-btn::before{content:""; position:absolute; inset:-10px;} /* расширяет зону нажатия, не меняя вид кнопки */
  #cabinet-close-btn .cabinet-close-text{display:none;}
  #cabinet-app .topbar{padding-right:74px;}
  #cabinet-app .topbar .brand{font-size:16px;}
}
@media (max-width:640px){
  #cabinet-app .planner-title{min-width:0;font-size:13px}
  #cabinet-app .planner-nav{gap:5px}
  #cabinet-app .planner-view-toggle button{padding:6px 10px;font-size:12px}
  #cabinet-app .planner-month-headcell{font-size:9.5px;padding:4px 2px}
  #cabinet-app .planner-month-cell{min-height:44px;padding:3px 3px}
  #cabinet-app .planner-month-daynum{font-size:11px}
  #cabinet-app .planner-month-chip, #cabinet-app .planner-month-more{font-size:8.5px}
  #cabinet-app .modal{width:94vw;max-height:88vh;overflow-y:auto;overflow-x:hidden}
  #cabinet-app .bubble{max-width:92%}
}




#cabinet-app .workspace-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 18px}


#cabinet-app .workspace-toolbar input{flex:1;min-width:160px;margin:0}


#cabinet-app .workspace-toolbar select{width:auto;min-width:150px;margin:0}


#cabinet-app .project-cards-compact{grid-template-columns:1fr;padding:0;gap:12px}


#cabinet-app .project-card-sq{min-height:0;margin:0;padding:20px;gap:12px}


#cabinet-app .project-card-sq .pc-top{flex-wrap:wrap;align-items:center}


#cabinet-app .project-card-sq .pc-title{display:block;overflow:visible;font-size:17px;flex:1;min-width:140px;overflow-wrap:anywhere}


#cabinet-app .project-card-sq .pill{flex:none;white-space:normal}


#cabinet-app .pc-action{font-size:13px;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:10px}


#cabinet-app .project-tabs{display:flex;gap:6px;margin:16px 0;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px}


#cabinet-app .project-tabs [aria-selected=true]{background:var(--accent-it);color:#fff;border-color:var(--accent-it)}


#cabinet-app .project-next-action{background:var(--accent-it-tint);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;align-items:center;gap:12px;justify-content:space-between;margin:10px 0}


#cabinet-app .project-next-action p{font-size:13px;color:var(--ink-soft);margin:5px 0 0}


#cabinet-app .project-next-action strong{font-size:15px}


#cabinet-app .project-detail-fold{border:1px solid var(--line);border-radius:14px;margin:16px 0;padding:0 16px;background:var(--surface-2)}


#cabinet-app .project-detail-fold summary{cursor:pointer;padding:14px 0;font-weight:700;line-height:1.45}


#cabinet-app .project-detail-fold[open]{padding-bottom:16px}


#cabinet-app .project-detail-fold > :last-child{margin-bottom:0}


#cabinet-app .project-stage-map{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);margin:12px 0 18px;min-width:0}


#cabinet-app .project-stage-map summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer;padding:14px 16px;line-height:1.35}


#cabinet-app .project-stage-map summary strong{color:var(--ink);font-size:16px}


#cabinet-app .project-stage-map-more{margin-left:auto;color:var(--accent-it-ink);font-weight:700;font-size:13px}


#cabinet-app .project-stage-map .stage-stepper{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;overflow:visible;margin:0;padding:4px 16px 16px;border-top:1px solid var(--line)}


#cabinet-app .project-stage-map .stage-line{display:none}


#cabinet-app .project-stage-map .stage-step{flex-direction:row;justify-content:flex-start;min-width:0;gap:8px;text-align:left}


#cabinet-app .project-stage-map .stage-label{font-size:13px;text-align:left;line-height:1.35}


@media(max-width:520px){#cabinet-app .project-stage-map .stage-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}#cabinet-app .project-stage-map .stage-label{font-size:12px}#cabinet-app .project-stage-map summary strong{width:100%;order:3}}


#cabinet-app .project-close{float:right;margin-left:12px}


#cabinet-app .project-panel{min-width:0}


#cabinet-app .workspace-chat-row{display:block;width:100%;text-align:left;font:inherit;cursor:pointer;color:var(--ink)}


#cabinet-app .workspace-chat-row strong{display:block;margin-bottom:4px}


#cabinet-app .workspace-chat-row p{font-size:14px;margin:10px 0 0;overflow-wrap:anywhere}


#cabinet-app .btn:focus-visible,#cabinet-app [role=button]:focus-visible{outline:3px solid var(--accent-it);outline-offset:3px}


#cabinet-app .doc-row{flex-wrap:wrap;gap:12px;overflow-wrap:anywhere}


#cabinet-app .doc-row>span:last-child{flex-wrap:wrap}


#cabinet-app .modal{overscroll-behavior:contain}


#cabinet-app .workspace-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}


@media(max-width:640px){#cabinet-app .project-next-action{align-items:flex-start;flex-direction:column}#cabinet-app .project-tabs .btn{flex:1;min-width:85px}#cabinet-app .workspace-toolbar input{flex-basis:100%}#cabinet-app .project-card-sq .pc-top{flex-direction:column;align-items:flex-start}#cabinet-app .project-card-sq .pc-title{min-width:0}#cabinet-app .workspace-toolbar select{flex:1}#cabinet-app .btn{min-height:40px}}


.contact-choice-dialog{box-sizing:border-box;width:min(650px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d5deea;border-radius:24px;background:#f7faff;color:#15222f;padding:30px;box-shadow:0 24px 80px #10203940;font-family:inherit}


.contact-choice-dialog::backdrop{background:rgba(13,24,40,.55);backdrop-filter:blur(5px)}


.contact-choice-close{float:right;border:1px solid #d5deea;background:white;border-radius:50%;width:40px;height:40px;cursor:pointer;font:inherit;font-size:20px}


.contact-choice-dialog h2{margin:0 42px 12px 0;font-size:27px;line-height:1.2}


.contact-choice-dialog>p{font-size:14px;color:#526174;margin:0 0 24px}


.contact-choice-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:20px;align-items:start}


.contact-qr-panel{background:white;border-radius:16px;border:1px solid #d5deea;padding:16px;text-align:center}


.contact-qr-image{margin:12px auto;background:white;border-radius:10px;width:180px;height:180px;max-width:100%}


.contact-qr-image svg{width:100%;height:100%;display:block}


.contact-qr-image[hidden]{display:none}


.contact-qr-toggle{display:flex;gap:6px;justify-content:center}


.contact-qr-toggle button{border:1px solid #d5deea;padding:7px 9px;border-radius:9px;font:inherit;font-size:12px;background:white;cursor:pointer}


.contact-qr-toggle [aria-pressed=true]{background:#e9f0ff;border-color:#1f6feb;color:#1450b0}


.contact-choice-links{display:grid;gap:12px}


.contact-choice-link{display:flex;flex-direction:column;gap:4px;background:#1f6feb;color:white!important;padding:17px;border-radius:14px;text-decoration:none!important;font-weight:700}


.contact-choice-link.whatsapp{background:#138a62}


.contact-choice-link span{font-size:12px;font-weight:400;opacity:.9}


.contact-choice-link.secondary{background:white;color:#15222f!important;border:1px solid #d5deea}


.contact-choice-link:focus-visible,.contact-choice-dialog button:focus-visible{outline:3px solid #1f6feb;outline-offset:3px}


.process-row details{min-width:0}.process-row summary{cursor:pointer;list-style:none}.process-row summary::-webkit-details-marker{display:none}.process-row summary h4{display:inline}.process-row summary:after{content:'';color:#1f6feb;font-size:22px;float:right}.process-row details[open] summary:after{content:''}.process-deliverable{font-size:13px;border-top:1px solid #d5deea;margin-top:14px;padding-top:12px;color:#526174}


.goal-chooser{margin:26px 0;padding:22px;border:1px solid #d5deea;background:#f5f9ff;border-radius:20px}.goal-chooser h3{margin:0 0 14px}.goal-chooser-links{display:flex;flex-wrap:wrap;gap:10px}.goal-chooser-links a{padding:10px 14px;border:1px solid #d5deea;border-radius:12px;background:white;color:#15222f;text-decoration:none;font-size:14px}.goal-chooser-links a:hover{border-color:#1f6feb;color:#1f6feb}


@media(max-width:640px){.contact-choice-dialog{padding:22px}.contact-choice-grid{grid-template-columns:1fr}.contact-qr-panel{display:none}.contact-choice-dialog h2{font-size:24px}.goal-chooser-links a{width:100%}}





  /* Corrections requested for the public page: the header remains sticky when scrolling. */


  header.site{background:rgba(255,255,255,.66);backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%);border-bottom:1px solid rgba(225,231,240,.65)}


  header.site.scrolled{background:rgba(255,255,255,.82)}


  .nudge-actions{display:grid;gap:8px}.nudge-actions .btn{width:100%}


  .price-below-badge{transform:none;border:1px solid rgba(31,111,235,.18);border-radius:20px;background:linear-gradient(120deg,#f8fbff 5%,#e9f1ff 57%,#f4faff);color:var(--ink);box-shadow:0 14px 30px -20px rgba(31,111,235,.4);padding:18px 22px}


  .price-below-badge::before{display:none}.price-below-badge:hover,.price-below-badge:focus-visible{transform:translateY(-3px);box-shadow:0 19px 34px -19px rgba(31,111,235,.45)}


  .price-below-icon{transform:none;border:1px solid rgba(31,111,235,.2);background:#fff;color:var(--accent-it-ink);font:800 15px 'Manrope',sans-serif;width:64px;height:48px;border-radius:14px}


  .price-below-text{font:700 clamp(15px,1.7vw,20px)/1.35 'Manrope',sans-serif;color:var(--ink)}.price-below-arrow{color:var(--accent-it)}


  .hero-clockwork,.hero-clockwork-dots{transform-origin:200px 200px;animation:clockwork-turn 90s linear infinite}


  @keyframes clockwork-turn{to{transform:rotate(360deg)}}


  #why-us .grid-3[data-reveal].in-view .why-card{animation:why-card-rise .65s both}


  #why-us .grid-3[data-reveal].in-view .why-card:nth-child(2){animation-delay:.08s}#why-us .grid-3[data-reveal].in-view .why-card:nth-child(3){animation-delay:.16s}#why-us .grid-3[data-reveal].in-view .why-card:nth-child(4){animation-delay:.24s}#why-us .grid-3[data-reveal].in-view .why-card:nth-child(5){animation-delay:.32s}#why-us .grid-3[data-reveal].in-view .why-card:nth-child(6){animation-delay:.4s}


  @keyframes why-card-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}


  .why-card{transition:transform .25s ease,box-shadow .25s ease}.why-card:hover{transform:translateY(-5px);box-shadow:0 22px 38px -24px rgba(31,111,235,.28)}


  @media(prefers-reduced-motion:reduce){.hero-clockwork,.hero-clockwork-dots,#why-us .grid-3[data-reveal].in-view .why-card{animation:none!important}}


#cabinet-app .bubble-system{align-self:center;background:var(--surface-2);color:var(--ink-muted);max-width:100%;border:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}


#cabinet-app .cabinet-install-guide{margin-bottom:18px;padding:14px 18px;font-size:14px;overflow-wrap:anywhere}#cabinet-app .cabinet-install-guide summary{cursor:pointer;font-weight:700;color:var(--accent-it-ink)}#cabinet-app .cabinet-install-guide p{margin:12px 0}


#cabinet-app .upload-feedback{display:block!important;margin:14px 0 4px;padding:14px 16px;border-radius:12px;font-size:16px!important;font-weight:700;line-height:1.5;color:#076344!important;background:#e3f6ed;border:1px solid #a7ddc6;overflow-wrap:anywhere}#cabinet-app .upload-feedback.upload-error{color:#8f241c!important;background:#fff0ed;border-color:#edb3ad}#cabinet-app .project-update-notice{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;margin-bottom:16px;background:#e8f1ff;border-radius:12px;font-size:15px}


/* Замечания 2: keep the workspace inside the viewport and present a simple client request list. */


#cabinet-app{overflow-x:clip}


#cabinet-app .client-layout,#cabinet-app .client-main,#cabinet-app .cview{min-width:0;max-width:100%}


#cabinet-app #c-content.client-layout,#cabinet-app #a-content.client-layout{grid-template-columns:230px minmax(0,1fr)}


#cabinet-app .client-rail{display:none}


@media(max-width:1080px){#cabinet-app #c-content.client-layout,#cabinet-app #a-content.client-layout{grid-template-columns:210px minmax(0,1fr)}}


@media(max-width:760px){#cabinet-app #c-content.client-layout,#cabinet-app #a-content.client-layout{grid-template-columns:minmax(0,1fr)}}


#cabinet-app .client-request-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;padding:12px 0 0}


#cabinet-app .client-request-list .project-card-sq{width:100%;max-width:none;min-width:0;overflow-wrap:anywhere}


#cabinet-app #a-leads-list.lead-kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:visible;gap:12px}


#cabinet-app #c-projects.client-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:visible;gap:12px;align-items:stretch;padding-top:0}


#cabinet-app #c-projects.client-board .lead-kanban-column{min-width:0;max-width:none;width:auto;flex:none}


#cabinet-app #c-projects.client-board .project-card-sq{min-width:0;width:100%;overflow-wrap:anywhere}


#cabinet-app .project-note-list{display:grid;gap:10px;max-height:300px;overflow-y:auto;margin:12px 0}


#cabinet-app .project-note-entry{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow-wrap:anywhere}


#cabinet-app .project-note-entry time{display:block;color:var(--ink-faint);font-size:11px;margin-bottom:5px}


#cabinet-app .project-note-entry p{white-space:pre-wrap;margin:0 0 8px}


#cabinet-app .p-client-spec-wait{padding:14px 16px;border-radius:12px;background:#e5f7ed;color:#136d44;line-height:1.5}


#cabinet-app .project-examples{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}


#cabinet-app .project-examples h4{margin:0 0 8px}


#cabinet-app .project-example-list{display:grid;gap:8px;margin:12px 0}


#cabinet-app .project-example-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}


#cabinet-app .project-example-row a{min-width:0;overflow-wrap:anywhere}


#cabinet-app .project-example-form{display:flex;gap:8px;align-items:center}


#cabinet-app .project-example-form input{min-width:0;flex:1;margin:0}


#cabinet-app .messenger-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:560px;height:calc(100dvh - 155px);max-height:850px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}


#cabinet-app .messenger-rail{min-width:0;overflow-y:auto;border-right:1px solid var(--line);background:#f7f9fc;padding:12px}


#cabinet-app .messenger-rail input{margin:0 0 12px}


#cabinet-app .messenger-rail .workspace-chat-row{display:block;width:100%;text-align:left;padding:12px;margin-bottom:8px;border-radius:12px;border:0;box-shadow:none;background:transparent}


#cabinet-app .messenger-rail .workspace-chat-row.active{background:#357fc2;color:#fff}


#cabinet-app .messenger-rail .workspace-chat-row.active .small{color:#e1effb!important}


#cabinet-app .messenger-rail .workspace-chat-row.active .pill{background:rgba(255,255,255,.2)!important;color:#fff!important}


#cabinet-app .messenger-rail .workspace-chat-row p{margin:6px 0 0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px}


#cabinet-app .messenger-pane{min-width:0;min-height:0;display:flex;flex-direction:column;padding:16px;background:#eef5f1}


#cabinet-app .messenger-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line);flex:none}


#cabinet-app .messenger-header .messenger-back{display:none}


#cabinet-app .messenger-conversation{min-width:0;min-height:0;display:flex;flex:1;flex-direction:column;overflow:hidden}


#cabinet-app .messenger-conversation>.thread{flex:1;max-height:none!important;min-height:0;overflow:auto;padding:8px}


#cabinet-app .messenger-conversation .msg-form{flex:none;margin-top:12px;background:#fff;border-radius:14px;padding:10px}


#cabinet-app .messenger-pane #chat-modal-backdrop,#cabinet-app .messenger-pane #chat-modal-backdrop>.modal,#cabinet-app .messenger-pane .chat-modal-layout,#cabinet-app .messenger-pane .chat-modal-main{height:100%;min-height:0}


#cabinet-app .messenger-pane #chat-modal-backdrop.inline-chat>.modal{height:100%!important;display:flex;flex-direction:column;background:transparent}


#cabinet-app .messenger-pane .chat-modal-layout{flex:1;min-height:0}


#cabinet-app .messenger-pane .chat-modal-main{display:flex;flex-direction:column}


#cabinet-app .messenger-pane .chat-modal-main>.thread{flex:1;max-height:none!important;min-height:0}


#cabinet-app .messenger-pane .chat-modal-main>h3,#cabinet-app .messenger-pane .chat-modal-main>h3+.small,#cabinet-app .messenger-pane .chat-modal-main>.telemost-widget,#cabinet-app .messenger-pane .chat-modal-main>.card{display:none}


#cabinet-app .messenger-pane .chat-modal-notes{display:none;flex-basis:220px;padding-left:16px;overflow:auto}


#cabinet-app .messenger-pane.show-notes .chat-modal-notes{display:flex}


#cabinet-app .messenger-pane .bubble{max-width:85%}


#cabinet-app .messenger-header>div{flex:1;min-width:0;overflow-wrap:anywhere}


@media(max-width:760px){


  #cabinet-app .messenger-header{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}


  #cabinet-app .messenger-header>div{grid-column:1/-1;grid-row:1}


  #cabinet-app .messenger-header>.btn{min-width:0;max-width:100%;padding:8px 6px;font-size:11px;justify-content:center;white-space:normal}


  #cabinet-app .messenger-header>.btn:last-child{grid-column:3}


  #cabinet-app .messenger-pane .msg-form{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px}


  #cabinet-app .messenger-pane .msg-form textarea{order:-1;flex:0 0 100%!important;width:100%!important;min-width:0;min-height:54px;max-height:120px;resize:none;box-sizing:border-box}


  #cabinet-app .messenger-pane .msg-form button[type=submit]{margin-left:auto}


}


@media(max-width:1100px){#cabinet-app .messenger-layout{grid-template-columns:230px minmax(0,1fr)}#cabinet-app .messenger-pane.show-notes .chat-modal-main{display:none}#cabinet-app .messenger-pane.show-notes .chat-modal-notes{height:100%;width:100%;box-sizing:border-box;border:0;padding:0;flex:1}}


@media(max-width:760px){#cabinet-app .messenger-layout{display:block;min-height:0;height:calc(100dvh - 185px);max-height:none}.messenger-layout .messenger-rail{height:100%;border:0;box-sizing:border-box}.messenger-layout .messenger-pane{display:none;height:100%;box-sizing:border-box}.messenger-layout.conversation-open .messenger-rail{display:none}.messenger-layout.conversation-open .messenger-pane{display:flex}#cabinet-app .messenger-header .messenger-back{display:inline-flex}#cabinet-app .messenger-pane{padding:12px}#cabinet-app .messenger-pane .chat-modal-layout{display:block}#cabinet-app .messenger-pane .msg-form .btn{padding:10px;font-size:12px}}


#cabinet-app .project-brief-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}


#cabinet-app .project-brief-materials>section{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}


#cabinet-app .project-brief-materials pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font:inherit}


@media(max-width:760px){#cabinet-app .project-brief-materials{grid-template-columns:1fr}#cabinet-app .project-example-form{flex-direction:column;align-items:stretch}}


#cabinet-app .project-quick-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}


#cabinet-app .project-quick-tiles>details,#cabinet-app .project-quick-tiles>.btn{min-width:0;min-height:66px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface-2);box-sizing:border-box}


#cabinet-app .project-quick-tiles>details>summary{display:flex;align-items:center;justify-content:space-between;gap:6px;list-style:none;font-weight:800;cursor:pointer}


#cabinet-app .project-quick-tiles>details>summary::-webkit-details-marker{display:none}


#cabinet-app .project-quick-tiles>details>summary::after{content:'';color:var(--accent-it);font-size:19px}


#cabinet-app .project-quick-tiles>details[open]>summary::after{content:''}


#cabinet-app .project-quick-tiles>details[open]{grid-column:span 2}


#cabinet-app .project-quick-tiles>.btn{background:var(--accent-it);color:#fff;white-space:normal;line-height:1.25}


@media(max-width:760px){#cabinet-app .project-quick-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}#cabinet-app .project-quick-tiles>details[open]{grid-column:1/-1}#cabinet-app .project-quick-tiles>.btn{grid-column:1/-1}}


#cabinet-app #a-leads-list .lead-kanban-column{min-width:0;max-width:none;width:auto;flex:none}


#cabinet-app #a-leads-list .lead-card{min-width:0;width:100%;overflow-wrap:anywhere;text-align:left}


#cabinet-app #a-leads-list .lead-card-next{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:12px;font-weight:700;color:var(--accent-it-ink)}


#cabinet-app .board-stage-tone-0{background:#e8f0ff;color:#174a96}


#cabinet-app .board-stage-tone-1{background:#e5f7ed;color:#136d44}


#cabinet-app .board-stage-tone-2{background:#fff3dc;color:#8e5900}


#cabinet-app .board-stage-tone-3{background:#efeafe;color:#6442ad}


#cabinet-app input[type="date"],#cabinet-app input[type="month"]{min-width:0;max-width:100%;box-sizing:border-box;appearance:auto}


#cabinet-app input[type="date"],#cabinet-app input[type="month"],#cabinet-app input[type="time"]{display:block;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden;padding-right:8px!important}


#cabinet-app input[type="date"]::-webkit-calendar-picker-indicator,#cabinet-app input[type="month"]::-webkit-calendar-picker-indicator{flex:none;margin:0 0 0 4px;max-width:18px}


#cabinet-app .grid>div,#cabinet-app .grid>label,#cabinet-app .offer-form>*{min-width:0;max-width:100%;box-sizing:border-box}


#cabinet-app .grid>* ,#cabinet-app .grid.grid-2>* ,#cabinet-app .row-actions>*{min-width:0}


@media(max-width:760px){#cabinet-app .grid.grid-2{grid-template-columns:minmax(0,1fr)}#cabinet-app input[type="date"],#cabinet-app input[type="month"]{font-size:16px}}


@media(max-width:1100px){#cabinet-app #a-leads-list.lead-kanban,#cabinet-app #c-projects.client-board{grid-template-columns:repeat(2,minmax(0,1fr))}}


@media(max-width:760px){#cabinet-app #a-leads-list.lead-kanban,#cabinet-app #c-projects.client-board{grid-template-columns:1fr}}


#cabinet-app .telemost-widget{margin:0 0 12px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface-2);flex:none}


#cabinet-app .telemost-widget summary{font-weight:700;cursor:pointer}


#cabinet-app .telemost-actions{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:10px;align-items:center;margin-top:12px}


#cabinet-app .telemost-actions input{min-width:0;margin:0;width:100%;box-sizing:border-box}


#cabinet-app .messenger-pane .chat-modal-main>.telemost-widget{display:block}


@media(max-width:760px){#cabinet-app .telemost-actions{grid-template-columns:minmax(0,1fr)}#cabinet-app .telemost-actions>.btn{white-space:normal}}


#cabinet-app .project-next-action{display:flex}


#cabinet-app .project-summary-download{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;padding:0;flex:none;background:var(--accent-it);color:#fff;border:0;font-size:25px;line-height:1;display:inline-flex;align-items:center;justify-content:center}


#cabinet-app .bubble a{color:inherit;overflow-wrap:anywhere;word-break:break-word}


@media(max-width:760px){


 #cabinet-app .msg-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}


 #cabinet-app .msg-form textarea{order:-1;flex:0 0 100%;width:100%;min-width:0;min-height:54px;max-height:100px;resize:none;overflow-y:auto;box-sizing:border-box}


 #cabinet-app .msg-form button[type=submit]{margin-left:auto}


 #cabinet-app .thread{overscroll-behavior:contain;overflow-anchor:none}


 #cabinet-app .bubble{overflow-wrap:anywhere;min-width:0;box-sizing:border-box}


 #cabinet-app .project-page .section-title{overflow-wrap:anywhere}


}


/* Stable chat viewport: address-bar changes do not resize the whole dialogue. */


@media(max-width:760px){


 #cabinet-app .messenger-layout{height:calc(100svh - 185px);overflow-anchor:none}


 #cabinet-app .messenger-layout .thread{overscroll-behavior:contain;overflow-anchor:none;scroll-behavior:auto}


 #cabinet-app .messenger-layout .msg-form textarea{resize:none;max-height:100px;overflow-y:auto}


 #cabinet-app .messenger-layout .bubble{overflow-wrap:anywhere;min-width:0}


}


/* Mobile cabinet: prevent focus zoom and intrinsic control overflow. */


@media(max-width:760px){


 #cabinet-app{max-width:100%;touch-action:pan-x pan-y}


 #cabinet-app input:not([type=checkbox]):not([type=radio]),#cabinet-app textarea,#cabinet-app select{font-size:16px!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}


 #cabinet-app input[type=date],#cabinet-app input[type=month],#cabinet-app input[type=time]{min-height:46px;line-height:1.4;appearance:none;-webkit-appearance:none}


 #cabinet-app input::-webkit-date-and-time-value{min-width:0;text-align:left}


 #cabinet-app input::-webkit-datetime-edit{min-width:0;padding:0}


 #cabinet-app .card,#cabinet-app .modal,#cabinet-app form,#cabinet-app label,#cabinet-app .row-actions{min-width:0;max-width:100%;box-sizing:border-box}


 #cabinet-app .btn,#cabinet-app summary,#cabinet-app h2,#cabinet-app h3,#cabinet-app .small,#cabinet-app .project-meta{white-space:normal;overflow-wrap:anywhere}


 #cabinet-app .row-actions{gap:10px;flex-wrap:wrap}


}


#cabinet-app .project-stage-inline{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}


#cabinet-app .project-stage-inline .project-tabs{display:none}





.contract-sign-guide{margin:18px 0;line-height:1.6}.contract-sign-guide li{margin:10px 0}.contract-sign-guide a{overflow-wrap:anywhere}


.danger-zone{margin-top:32px!important;padding-top:20px;border-top:1px solid var(--stroke);clear:both}


@media(max-width:700px){


 #lead-modal-backdrop{align-items:flex-start;padding:12px 10px calc(110px + env(safe-area-inset-bottom));overflow-y:auto}


 #lead-modal-backdrop>.modal{max-height:none!important;overflow:visible!important;margin-bottom:110px}


 .lead-close-top{position:sticky;top:8px;z-index:4;display:block;margin-left:auto;background:var(--surface)}


 .project-page-content>.project-close{position:sticky;top:8px;z-index:4;background:var(--surface)}


 .offer-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px}.offer-form.hidden{display:none!important}


 .offer-form input,.offer-form label{width:100%;max-width:100%;min-width:0!important;box-sizing:border-box}


}



@media(max-width:760px){#cabinet-app #screen-admin .client-nav .sidebar-cta{display:block;grid-column:1/-1;margin-top:0}}



#cabinet-app #screen-client>.topbar,#cabinet-app #screen-admin>.topbar{padding-right:max(16px,env(safe-area-inset-right,0px))}


#cabinet-app .crm-request-footer{display:flex;justify-content:flex-end;padding:12px 18px;background:#f2f5f9;border-top:1px solid #dce4ef;flex:none}


#cabinet-app .crm-request-button{max-width:100%;white-space:normal;text-align:center;border:0;border-radius:24px;padding:12px 22px;color:#fff;background:linear-gradient(110deg,#176cf6,#6841ec);font:800 14px/1.4 Manrope,sans-serif;cursor:pointer;animation:crm-button-glow 3s ease-in-out infinite}


@keyframes crm-button-glow{0%,100%{box-shadow:0 3px 12px #176cf640}50%{box-shadow:0 3px 20px #6841ec70}}


#cabinet-app #screen-client:not(.hidden){display:flex;flex-direction:column;height:100%;min-height:0}


#cabinet-app #screen-client>.wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:clip;overscroll-behavior-y:contain;scrollbar-gutter:stable}


#cabinet-app #screen-client #c-content{padding-bottom:24px!important}


#cabinet-app .training-target-highlight{outline:3px solid #ffba38;outline-offset:3px;box-shadow:0 0 0 7px #ffba3820;border-radius:14px}


#cabinet-app .training-chat-history{display:grid;gap:8px;margin:12px 0}


#cabinet-app .training-chat-history p{margin:0;padding:12px;background:#edf4ff;border-radius:14px;line-height:1.5}


#cabinet-app .training-chat-history .training-client-message{background:#216df4;color:#fff;margin-left:24px}


@media(max-width:760px){#cabinet-app .crm-request-footer{margin-bottom:calc(98px + env(safe-area-inset-bottom,0px));padding:8px 12px}#cabinet-app .crm-request-button{font-size:12px;padding:10px 16px}}


@media(prefers-reduced-motion:reduce){#cabinet-app .crm-request-button{animation:none}}






@media(max-width:760px){


 #cabinet-app .topbar{padding-right:max(12px,env(safe-area-inset-right,0px));gap:8px}


 #cabinet-app .topbar .brand{flex:1;min-width:0}


 #cabinet-app .cabinet-notification-holder{margin-left:auto;flex:0 0 38px;align-self:center}


 #cabinet-app .cabinet-notification-bell{width:38px;height:38px;padding:0}


 #cabinet-app .cabinet-notification-bell::before{content:"";position:absolute;inset:-3px}


 #cabinet-app .cabinet-notification-bell svg{width:20px;height:20px}


 #cabinet-app .cabinet-notification-count{right:-3px;top:-3px;min-width:17px;padding:4px;font-size:10px}


}






#cabinet-app .design-stage-guide{padding:16px;margin:0 0 18px;background:#edf4ff;border:1px solid #dae7fb;border-radius:16px}


#cabinet-app .design-stage-guide h4{margin:0 0 10px}#cabinet-app .design-stage-guide p{margin:0 0 16px;overflow-wrap:anywhere}


#cabinet-app .chat-preview-link{margin:12px 0 8px;max-width:100%;white-space:normal}


#cabinet-app .project-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0}


#cabinet-app .project-toolbar .project-tabs{margin:0;flex:1}#cabinet-app .project-toolbar>.btn{flex:none}


#cabinet-app .project-stage-inline .document-history{display:none!important}


#cabinet-app .project-revision.hidden{display:none!important}


@media(max-width:760px){#cabinet-app .project-toolbar .project-tabs{flex-basis:100%}#cabinet-app .project-toolbar>.btn{width:100%}


#cabinet-app div.modal-backdrop:not(.inline-chat){inset:0 0 calc(76px + env(safe-area-inset-bottom,0px));padding:10px;align-items:stretch;overflow-y:auto}


#cabinet-app .inline-chat,#cabinet-app .inline-chat>.modal{overscroll-behavior-y:auto!important}


#cabinet-app .project-page .inline-chat .thread{overscroll-behavior-y:auto}


#cabinet-app .project-page #chat-modal-backdrop.inline-chat{overscroll-behavior-y:auto}


}



#cabinet-app:has(.viewer-backdrop) #cabinet-close-btn{display:none!important}#cabinet-app .viewer-frame-wrap{min-height:0}#cabinet-app .viewer-frame-wrap iframe{height:100%;min-height:400px}#cabinet-app .viewer-bar .viewer-close{flex:none;margin-left:auto}#cabinet-app .review-feedback{z-index:10000}



#cabinet-app{--workspace-header-height:76px}


#cabinet-app .topbar{z-index:90;background:#fff;box-sizing:border-box;flex:none}


@media(min-width:761px){#cabinet-app .client-nav{top:calc(var(--workspace-header-height) + 16px);z-index:10;min-height:0;max-height:calc(100dvh - var(--workspace-header-height) - 32px);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}#cabinet-app .client-rail{top:calc(var(--workspace-header-height) + 16px)}#cabinet-app .client-layout{padding-top:16px}}


#cabinet-app .project-stage-header{clear:both;width:100%;box-sizing:border-box;min-width:0;margin:12px 0 18px}


#cabinet-app .project-stage-heading{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:12px 16px;font-weight:700}


#cabinet-app .project-stage-map-expanded{padding:0}


#cabinet-app .project-stage-map-expanded .stage-stepper{display:flex;overflow-x:auto;gap:0;padding:12px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}


#cabinet-app .project-stage-map-expanded .stage-step{min-width:86px;max-width:112px;scroll-snap-align:center}


#cabinet-app .project-stage-map-expanded .stage-line{min-width:12px;flex:none;width:20px}


#cabinet-app .project-stage-map-expanded .stage-label{white-space:normal;overflow-wrap:anywhere}


#cabinet-app .project-quick-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}


#cabinet-app .project-quick-tiles .stage-side-note{grid-column:1/-1;margin:0}


@media(max-width:760px){#cabinet-app .messenger-layout{height:calc(100svh - var(--workspace-header-height) - 125px)}#cabinet-app .project-stage-map-expanded .stage-label{font-size:12px}}



#cabinet-app .support-conversation{display:flex;flex-direction:column;min-height:0;height:100%}#cabinet-app .support-thread{flex:1;min-height:0;max-height:none;overflow-y:auto;overflow-anchor:none;overscroll-behavior:contain}#cabinet-app .support-message-context{font-size:12px;line-height:1.4;margin-bottom:8px;opacity:.8;overflow-wrap:anywhere}#cabinet-app .support-conversation .msg-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}#cabinet-app .support-conversation textarea{flex:1;min-width:0;font-size:16px}#cabinet-app .support-send-status{width:100%;overflow-wrap:anywhere}
#cabinet-app .client-training{padding:16px;border:1px solid #c7d9f4;border-radius:18px;background:#fff;margin:0 0 18px;min-width:0}#cabinet-app .client-training>summary{font-weight:800;cursor:pointer;color:#124d9c}#cabinet-app .client-training-content{padding-top:12px;overflow-wrap:anywhere}#cabinet-app .training-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px}#cabinet-app .training-admin-comment{background:#eaf2ff;border-radius:16px;padding:16px;color:#173f72;margin:12px 0}#cabinet-app .training-admin-comment p{margin-bottom:0;line-height:1.6}#cabinet-app .training-demo-label{font-size:12px;color:var(--ink-soft);line-height:1.5}#cabinet-app .training-sample{display:flex;flex-wrap:wrap;gap:10px;background:#f6f8fc;border-radius:14px;padding:14px;min-width:0}#cabinet-app .training-sample>p,#cabinet-app .training-sample>strong,#cabinet-app .training-sample>label{width:100%;margin:0}#cabinet-app .training-sample textarea{min-width:0;width:100%;box-sizing:border-box;font-size:16px}#cabinet-app .client-training .btn{max-width:100%;white-space:normal}#cabinet-app #c-training-launcher{margin-bottom:12px}#cabinet-app .client-training select{font-size:16px;min-width:0;width:100%}



#cabinet-app .online-payment-panel,#cabinet-app .npd-receipt-panel,.invitation-login-note{padding:16px;border-radius:16px;background:#edf4ff;overflow-wrap:anywhere;margin:12px 0;width:100%;box-sizing:border-box}


.client-invitation-dialog{width:min(620px,calc(100% - 24px));box-sizing:border-box;max-height:calc(100dvh - 32px);overflow-y:auto;border:0;border-radius:22px;padding:24px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;color:#142638}


.client-invitation-dialog::backdrop{background:#14263899}.client-invitation-dialog form{display:grid;gap:16px}.client-invitation-dialog header{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between}.client-invitation-dialog h3{margin:0}


.client-invitation-dialog label{display:block}.client-invitation-dialog input,.client-invitation-dialog select,.client-invitation-dialog textarea{display:block;width:100%;box-sizing:border-box;min-width:0;font:inherit;font-size:16px;margin-top:8px;padding:12px;border:1px solid #dbe3ee;border-radius:12px;background:#f4f6fb}.client-invitation-dialog textarea{white-space:pre-wrap;overflow-wrap:anywhere;resize:vertical}.client-invitation-dialog section{display:grid;gap:14px}.client-invitation-dialog .hidden{display:none}.client-invitation-dialog button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.client-invitation-dialog .btn{border-radius:24px;padding:12px 18px;cursor:pointer;border:1px solid #dbe3ee}.client-invitation-dialog .btn-primary{background:#216df1;color:white}.client-invitation-dialog .invitation-status{overflow-wrap:anywhere}


@media(max-width:760px){.client-invitation-dialog{padding:18px;margin:auto}#cabinet-app .online-payment-panel button,#cabinet-app .npd-receipt-panel button{width:100%}}






html.cabinet-is-open,html.cabinet-is-open body{height:100%;max-height:100%;overflow:hidden!important}


#cabinet-app .project-page-content>.project-close{top:calc(var(--workspace-header-height,76px) + 8px);scroll-margin-top:calc(var(--workspace-header-height,76px) + 12px)}


#cabinet-app .modal-backdrop:not(.inline-chat):not(.minimized){z-index:200}


#cabinet-app .project-page-content{scroll-margin-top:calc(var(--workspace-header-height,76px) + 12px)}



#cabinet-app .support-telemost{padding:10px 14px;border:1px solid var(--line);border-radius:14px;margin:10px 0;flex:none}#cabinet-app .support-telemost-body{display:grid;gap:12px;min-width:0;padding-top:12px}#cabinet-app .support-telemost-body input{width:100%;min-width:0;font-size:16px}#cabinet-app .support-telemost-body p{margin:0}#cabinet-app .support-telemost summary{cursor:pointer;font-weight:700;overflow-wrap:anywhere}



#cases .grid-3{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}#cases .grid-3 .case-card{min-width:0;transform:none!important}#cases .case-card h3{font-size:16px;line-height:1.5}#cases .case-line{font-size:13px}#cases .case-pile img{width:100%;height:100%;object-fit:cover;object-position:top}#cases .site-case-button{margin-top:10px;width:100%}


#sites-article-dialog{box-sizing:border-box;width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #dce5f2;border-radius:22px;overflow:auto;color:#1d2937;background:#fff;box-shadow:0 24px 90px #142e5355}#sites-article-dialog[open]{animation:site-article-enter .25s ease-out}#sites-article-dialog::backdrop{background:#10274499}#sites-article-dialog header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;background:#fff;padding:14px 24px;border-bottom:1px solid #e1e8f2;z-index:1}#sites-article-dialog article{padding:24px;line-height:1.75}#sites-article-dialog h2{font-size:28px;margin:0 0 22px}#sites-article-dialog h3{font-size:19px;margin:22px 0 8px}#sites-article-dialog p{font-size:15px;margin:0 0 14px}#sites-article-dialog .site-article-cta{white-space:normal;width:100%;margin-top:16px}#sites-article-dialog .tariffs-reference{font-size:13px;color:#607086}#sites-article-dialog details img{max-width:100%;height:auto;margin-top:12px}


.security-trust-note{box-sizing:border-box;clear:both;flex-basis:100%;width:100%;margin:12px 0;padding:12px 14px;background:#edf8f0;border:1px solid #b9dfc4;border-radius:12px;color:#176035;font:500 13px/1.65 Manrope,sans-serif;overflow-wrap:anywhere}.security-trust-note p{margin:6px 0;font:inherit;color:inherit}.security-trust-note a{color:#14552d;text-decoration:underline;font-weight:800}.security-trust-note summary{cursor:pointer;font-weight:700;list-style-position:inside}


@keyframes site-article-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1199px){#cases .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){#cases .grid-3{grid-template-columns:1fr}#sites-article-dialog article{padding:18px}#sites-article-dialog h2{font-size:24px}}@media(prefers-reduced-motion:reduce){#sites-article-dialog[open]{animation:none}}



@media(min-width:761px){#cabinet-app .client-nav{position:fixed!important;left:max(8px,env(safe-area-inset-left,0px));top:calc(var(--workspace-header-height,72px) + 16px)!important;width:216px;max-height:calc(100dvh - var(--workspace-header-height,72px) - 106px);min-height:0;overflow-y:auto;align-self:start;transform:none!important}#cabinet-app .client-main{grid-column:2;grid-row:1}}#cabinet-app .client-training>summary{font-size:21px;line-height:1.5;padding:8px 4px;color:#124d9c}#cabinet-app #c-training-launcher{font-size:17px;font-weight:800;background:#e8f0ff;border:2px solid #216df4;padding:14px 22px}
.ui-svg-icon{display:inline-block;width:1.1em;height:1.1em;vertical-align:-.15em;flex-shrink:0;pointer-events:none}.nav-ico .ui-svg-icon{width:20px;height:20px}.mobile-cabinet-nav .nav-ico .ui-svg-icon{width:24px;height:24px}
#cabinet-app .messenger-layout{height:var(--messenger-available-height,480px)!important;min-height:0!important;max-height:none!important}#cabinet-app .messenger-pane{min-height:0}#cabinet-app .support-conversation>.msg-form,#cabinet-app .support-conversation>.security-trust-note{flex-shrink:0}#cabinet-app .client-training>summary{font-size:21px!important;font-weight:800!important}
@media(max-width:760px){#cabinet-app .topbar{padding-top:calc(12px + env(safe-area-inset-top,0px))!important;padding-left:calc(12px + env(safe-area-inset-left,0px))!important;padding-right:calc(12px + env(safe-area-inset-right,0px))!important;flex-shrink:0}#cabinet-app{height:100dvh!important;max-height:100dvh;overflow:hidden!important}#cabinet-app #screen-admin:not(.hidden){display:flex;flex-direction:column;height:100%;min-height:0}#cabinet-app #screen-admin>.wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}#cabinet-app .cabinet-notification-panel{top:calc(var(--workspace-header-height,72px) + 8px)}dialog{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)!important;margin-top:calc(12px + env(safe-area-inset-top,0px));margin-bottom:calc(12px + env(safe-area-inset-bottom,0px))}#cabinet-app .modal.project-fullscreen{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)!important}}
#security-report-dialog{background:white;color:#20374a;border:1px solid #dbe4ef;border-radius:20px;width:min(900px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:0;overflow:auto;box-sizing:border-box}#security-report-dialog header{position:sticky;top:0;z-index:1;background:white;padding:16px 20px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #dbe4ef}#security-report-dialog main{padding:20px}#security-report-dialog h1{font-size:28px;line-height:1.4}#security-report-dialog h2{font-size:21px;margin-top:24px;color:#173e5f}#security-report-dialog h3{font-size:16px;color:#176035}#security-report-dialog p{font-size:14px;line-height:1.75}#security-report-dialog footer{padding:16px 20px;background:#f3f8f5}.gentle-loader{display:inline-flex;align-items:center;gap:10px;background:white;border-radius:12px;padding:12px;color:#2d5371;font-size:14px}.gentle-loader svg{width:42px;height:42px;animation:gentle-loader-orbit 2.4s linear infinite}.gentle-loader circle{stroke:#c5dafe;fill:#216df4}@keyframes gentle-loader-orbit{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.gentle-loader svg{animation:none}}
#cabinet-app .project-page-content>.project-close{position:static!important;float:none!important;display:flex;width:max-content;margin:0 0 14px auto;max-width:100%;font-size:13px}#cabinet-app .project-stage-map-expanded .stage-stepper{align-items:flex-start!important;gap:12px!important;padding:14px!important}#cabinet-app .project-stage-map-expanded .stage-step{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;flex:0 0 96px!important;width:96px!important;min-width:96px!important;max-width:96px!important;gap:8px!important}#cabinet-app .project-stage-map-expanded .stage-dot{width:24px;height:24px;box-sizing:border-box;margin:0!important}#cabinet-app .project-stage-map-expanded .stage-label{width:96px;min-height:48px;text-align:center!important;line-height:1.4!important;font-size:11px!important;word-break:normal;overflow-wrap:normal;hyphens:auto}#cabinet-app .project-stage-heading{align-items:center;gap:12px}#cabinet-app .project-stage-heading strong{min-width:0;max-width:100%;font-size:13px;line-height:1.5;overflow-wrap:break-word}#cabinet-app .viewer-frame-wrap:has(.viewer-loading){background:white!important;display:grid!important;place-items:center;min-height:240px}.viewer-loading{text-align:center;padding:28px}.gentle-loader svg{width:68px;height:68px}.training-guide-action{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px;background:#eef4ff;border-radius:14px}
#cabinet-app .messenger-rail .workspace-chat-row{box-sizing:border-box;display:block;background:#fff;border:1px solid #dce5ef;border-radius:16px;margin:0 0 12px;padding:16px;text-align:left;box-shadow:0 3px 10px #193a5b06;transition:border-color .15s,background .15s;min-width:0;overflow:hidden}#cabinet-app .messenger-rail .workspace-chat-row:hover{border-color:#9dbbeb;background:#f8fbff}#cabinet-app .messenger-rail .workspace-chat-row.active{border-color:#1c65bb;background:#2168b2;color:#fff;box-shadow:0 4px 12px #17436d16}#cabinet-app .workspace-chat-row strong{display:block;line-height:1.45;overflow-wrap:anywhere}#cabinet-app .workspace-chat-row .small{line-height:1.5;overflow-wrap:anywhere}#cabinet-app .workspace-chat-row .pill{display:inline-block;margin:4px 0;white-space:normal;max-width:100%;line-height:1.4;font-size:11px;vertical-align:middle}#cabinet-app .workspace-chat-row>strong+.pill{margin-top:8px}#cabinet-app .workspace-chat-row .chat-contact-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;line-height:1.5}#cabinet-app .workspace-chat-row .chat-project-line{margin-top:8px!important;padding-top:8px;border-top:1px solid #dfE7f0}#cabinet-app .workspace-chat-row.active .chat-project-line{border-color:#ffffff40}#cabinet-app .project-draft-preserved{padding:14px;border:1px solid #bad3f2;border-radius:14px;background:#f3f8ff;margin-bottom:14px}#cabinet-app .project-draft-preserved textarea{width:100%;box-sizing:border-box;min-height:72px}@media(max-width:760px){#cabinet-app .messenger-rail .workspace-chat-row{padding:16px;margin-bottom:14px;border-radius:16px}#cabinet-app .messenger-rail .workspace-chat-row .chat-contact-line{font-size:15px}#cabinet-app .workspace-chat-row .pill{font-size:11px}}
#cabinet-app .privacy-consent-link{appearance:none;background:#eaf2ff;border:1px solid #c7d8ef;border-radius:999px;color:#1756a8;font-family:inherit;font-size:12px;font-weight:700;line-height:1.5;padding:7px 12px;display:inline-flex;align-items:center;cursor:pointer;max-width:100%;white-space:normal;text-align:left}#cabinet-app .privacy-consent-link:hover{background:#dceaff}#cabinet-app .privacy-consent-link:focus-visible{outline:3px solid #438ef0;outline-offset:3px}
#cabinet-app .project-faq-group{margin-top:28px;padding:18px 0 4px;border-top:1px solid var(--line);clear:both;min-width:0}#cabinet-app .project-faq-group h4{margin:0 0 14px;font-size:14px;color:var(--ink-soft)}#cabinet-app .project-faq-group .project-detail-fold{margin:10px 0;min-width:0}
.form-revealed{outline:2px solid #79aaff;outline-offset:8px;border-radius:12px}#cabinet-app .payment-proof-form{padding:14px;margin-top:12px;background:#f2f7ff;border:1px solid #cdddff;border-radius:14px;scroll-margin:100px 0 120px}#cabinet-app .project-next-action{min-width:0;overflow-wrap:anywhere}
.referral-nav{background:linear-gradient(110deg,#317ccd,#815aee)!important;margin:8px 0;border:1px solid #95b8ff!important;animation:referral-glow 3s ease-in-out infinite}.referral-nav span:last-child{white-space:normal;line-height:1.35}.referral-progress progress{width:100%;height:18px;accent-color:#236ff4}.referral-reward{margin:12px 0;padding:18px}.referral-invite,.referral-payout{margin:18px 0;padding:20px}.referral-payout input,.referral-invite input{margin-bottom:14px}@keyframes referral-glow{50%{box-shadow:0 0 16px #6288ff77}}@media(prefers-reduced-motion:reduce){.referral-nav{animation:none}}
@media(min-width:761px){#cabinet-app .client-nav{max-height:calc(100dvh - var(--workspace-header-height,72px) - 24px)!important;overflow:visible!important;padding:12px;gap:4px}#cabinet-app .client-nav-item{min-height:36px;padding:8px 12px}#cabinet-app .sidebar-cta{margin-top:6px;padding:10px}#cabinet-app .sidebar-cta-text{display:none}}@media(min-width:761px) and (max-height:800px){#cabinet-app .client-nav{padding:8px;gap:2px}#cabinet-app .client-nav-item{min-height:30px;padding:6px 10px;font-size:12px}#cabinet-app .sidebar-cta-title{display:none}#cabinet-app .sidebar-cta{padding:4px;margin-top:2px}#cabinet-app .sidebar-profile{padding-bottom:6px;margin-bottom:4px}}@media(min-width:761px) and (max-height:590px){#cabinet-app .client-nav-item{min-height:26px;padding:4px 8px}#cabinet-app .sidebar-profile{display:none}#cabinet-app .sidebar-cta{margin:0;padding:0}}
#cabinet-app .bubble-system{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:10px auto;max-width:min(460px,90%);min-width:0;padding:12px 16px;background:#ffffffb8;border:1px solid #dce5ed;border-radius:14px;color:#536374;font-size:12px;line-height:1.55;box-shadow:0 2px 6px #172d4410;overflow-wrap:anywhere}#cabinet-app .bubble-system time{margin:0;display:block;color:#83909e;font-size:10px}#cabinet-app .bubble-system .chat-preview-link,#cabinet-app .bubble-system .att-file{align-self:flex-start;display:inline-flex;margin:2px 0 0;max-width:100%;white-space:normal;gap:6px}#cabinet-app .bubble-system .btn{color:white!important;padding:7px 12px;border-radius:9px}
#cabinet-app #c-training-panel{position:fixed;z-index:4000;max-height:70dvh;overflow:auto;border:2px solid #216df4;box-shadow:0 12px 40px #193c6c33;border-radius:18px;background:white}#cabinet-app #c-training-panel>summary{font-size:16px;padding:12px 16px}#cabinet-app #c-training-panel .client-training-content{padding:12px 16px}#cabinet-app #c-training-panel h3{font-size:17px;margin:8px 0}#cabinet-app #c-training-panel .training-admin-comment{padding:12px;font-size:13px;line-height:1.6}#cabinet-app #c-training-panel .training-demo-label{font-size:11px}#cabinet-app #c-training-panel .row-actions{gap:6px}#cabinet-app #c-training-panel .btn{font-size:12px;padding:8px 12px}#cabinet-app #c-training-panel .training-sample{padding:10px;font-size:12px}#cabinet-app #c-training-panel .training-history{max-height:120px;overflow:auto}@media(max-width:760px){#cabinet-app #c-training-panel{max-height:45dvh}}
#c-training-panel>summary{display:flex;align-items:center;gap:8px;justify-content:space-between;user-select:none}#c-training-panel>summary:after{display:none}#c-training-panel .training-drag-handle{touch-action:none;cursor:grab;border:1px solid #c7d9f8;border-radius:8px;background:#eef5ff;color:#154eaa;font-size:22px;padding:0 10px;flex:none}#c-training-panel .training-drag-handle:active{cursor:grabbing}#c-training-panel .client-training-content{padding:10px 16px 14px}#c-training-panel .training-admin-comment{padding:12px;margin:8px 0;font-size:13px;line-height:1.55}#c-training-panel .training-toolbar p{margin:0;font-size:12px}.training-project-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.training-project-heading h3{margin:0;min-width:0;overflow-wrap:anywhere}.training-project-stages{display:flex;gap:8px;overflow-x:auto;padding:12px 0;margin:12px 0;align-items:flex-start;scroll-snap-type:x proximity}.training-project-step{display:flex;flex:0 0 100px;flex-direction:column;align-items:center;text-align:center;gap:7px;scroll-snap-align:center}.training-project-step span{display:grid;place-items:center;border-radius:50%;width:26px;height:26px;border:1px solid #d8e1ed;font-size:12px;background:#f5f7fc}.training-project-step small{font-size:11px;line-height:1.35;min-height:44px}.training-project-step.current span{background:#a97600;color:white}.training-project-step.current small{font-weight:700}.training-project-step.complete span{background:#216df4;color:white}.training-project-body{display:grid;gap:14px;margin-top:16px;min-width:0}.training-project-body p{margin:0;line-height:1.5}.training-project-body>button{justify-self:start}.training-project-body label{display:grid;gap:8px;font-weight:600;font-size:13px}.training-project-body input,.training-project-body textarea,.training-project-body select{width:100%;box-sizing:border-box;border:1px solid #d5dfef;border-radius:12px;padding:12px;background:#f5f7fc;color:#14283d;font:inherit}.training-project-body .spec-sent-panel{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px;background:#e8f7ee;border-radius:12px}.training-project-thread{max-height:330px;min-height:180px;overflow:auto}.training-project-body .msg-form{display:flex;align-items:flex-end;gap:10px}.training-project-body .msg-form label{flex:1;min-width:0}.training-prototypes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.training-prototypes .card{display:grid;gap:12px;align-content:start}.training-prototypes iframe{border:0;border-radius:12px;width:100%;height:340px}.training-project-content{padding-bottom:max(24px,env(safe-area-inset-bottom,0px))!important}@media(max-width:760px){#c-training-panel{max-height:48dvh!important}.training-prototypes{grid-template-columns:1fr}.training-project-heading .btn{margin-left:auto}.training-project-body .msg-form{flex-direction:column;align-items:stretch}.training-project-body .msg-form label{width:100%}}



#cabinet-app .topbar .brand{min-width:0;overflow-wrap:anywhere}#cabinet-app .cabinet-scroll-cue{margin-left:auto;flex:none;animation:scroll-cue-pulse 2.8s ease-in-out infinite}#cabinet-app .cabinet-scroll-cue[hidden]{display:none!important}@keyframes scroll-cue-pulse{50%{box-shadow:0 0 0 4px #216df415}}@media(prefers-reduced-motion:reduce){#cabinet-app .cabinet-scroll-cue{animation:none}}#cview-referrals{display:grid;gap:16px}#cview-referrals.hidden{display:none}#cview-referrals>h2{margin:0}#cview-referrals .card{margin:0;padding:18px}#cview-referrals .referral-progress{padding:14px 18px}#cview-referrals .referral-progress p{margin:6px 0}#cview-referrals .referral-payout,#cview-referrals .referral-invite{align-self:start}#cview-referrals h3{margin:0 0 12px}#cview-referrals label{margin-top:10px}#cview-referrals .referral-section-links{display:flex;gap:8px;flex-wrap:wrap}#cview-referrals .referral-invite button[type=submit]{margin-top:12px;width:auto!important}#cview-referrals .referral-payout .upload-feedback{margin:8px 0 12px}.training-mobile-notice{font-size:12px;color:#738292;margin:0 0 12px}@media(min-width:1100px){#cview-referrals{grid-template-columns:1fr 1fr}#cview-referrals>h2,#cview-referrals>.referral-progress,#cview-referrals>.referral-section-links,#cview-referrals>.referral-history,#cview-referrals>details{grid-column:1/-1}}@media(max-width:760px){#cabinet-app .topbar{gap:8px}#cabinet-app .topbar .brand{font-size:14px}#cabinet-app .cabinet-scroll-cue{font-size:11px;padding:6px 8px}#c-training-panel,#training-project-page{display:none!important}}



#cabinet-app [hidden]{display:none!important}#cabinet-app .feedback-methods{border:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0}#cabinet-app .feedback-methods legend{margin-bottom:10px;font-weight:700}#cabinet-app .project-approval-success{background:#e4f7ef;border:1px solid #a1dbc2;color:#136940}#cabinet-app .project-approval-success strong::before{content:"";display:inline-block;width:1em;height:1em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204%2010-10%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204%2010-10%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;color:#14935c}@media(max-width:640px){#cabinet-app .feedback-methods button{flex:1;min-width:100px}}
#cabinet-app .messenger-notes{display:none;min-width:0;padding:20px;overflow:auto}#cabinet-app .messenger-pane.show-notes .messenger-notes{display:block}#cabinet-app .messenger-pane.show-notes>.messenger-conversation{display:none}
a[target="_blank"]:not(:has(svg)):not(:has(img))::after{content:"";display:inline-block;width:1em;height:1em;margin-left:.32em;vertical-align:-.12em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M7 7h10v10' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M7 7h10v10' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
#cabinet-app .project-next-action{display:flex!important;padding:12px 14px;margin:10px 0}#cabinet-app .project-next-action[hidden]{display:none!important}#cabinet-app .project-next-action p{white-space:normal;line-height:1.6}#cabinet-app .cabinet-scroll-hint{position:fixed;z-index:80;width:22px;height:42px;color:#216df4;pointer-events:none;animation:workspace-scroll-arrow 3s ease-in-out infinite}#cabinet-app .cabinet-scroll-hint svg{width:100%;height:100%}@keyframes workspace-scroll-arrow{0%,15%,100%{opacity:0;transform:translateY(-8px)}35%,65%{opacity:.85}85%{opacity:0;transform:translateY(7px)}}@media(prefers-reduced-motion:reduce){#cabinet-app .cabinet-scroll-hint{animation:none;opacity:.65}}#cabinet-app .domain-stage-steps{margin:10px 0;padding-left:22px;line-height:1.6}#cabinet-app .domain-stage-steps li{margin-bottom:8px}
#cabinet-app label.vds-plan-card{font-size:14px;text-transform:none;font-weight:400;align-items:start}#cabinet-app .vds-plan-card>span{display:grid;gap:7px;min-width:0}#cabinet-app .vds-plan-key{font-weight:750;color:#137440;font-size:15px;line-height:1.5}#cabinet-app .vds-plan-price{font-size:18px}#cabinet-app .vds-plan-title{font-weight:600;color:var(--ink-soft)}#cabinet-app .vds-plan-tech{font-size:12px;color:var(--ink-faint);line-height:1.5}
#cabinet-app .site-platform-choice{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;margin:12px 0}#cabinet-app .site-platform-choice h4{margin:0 0 8px}#cabinet-app .project-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}#cabinet-app .project-help-chat{position:sticky;top:12px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}#cabinet-app .project-help-chat summary{font-size:15px;font-weight:700;color:#175baa;cursor:pointer;padding-bottom:12px}#cabinet-app .project-help-chat details[open]>#panel-client-chat{display:block!important;padding:0;border:0}#cabinet-app .project-help-chat .p-thread{height:320px;max-height:45dvh;overflow:auto}#cabinet-app .project-help-chat .section-title{display:none}#cabinet-app .project-help-chat .p-msg-form{display:flex;flex-wrap:wrap;gap:8px}#cabinet-app .project-help-chat textarea{flex:1 0 100%;min-height:72px;max-height:130px}#cabinet-app .project-help-chat .bubble{max-width:100%;font-size:12px}#cabinet-app .project-workspace-grid>.project-card{min-width:0}@media(max-width:1100px){#cabinet-app .project-workspace-grid{grid-template-columns:minmax(0,1fr)}#cabinet-app .project-help-chat{position:static}#cabinet-app .project-help-chat .p-thread{height:250px}}
#cabinet-app .project-help-chat details[open]>#panel-admin-chat{display:block!important}#cabinet-app .project-help-chat .chat-modal-main{display:flex;flex-direction:column;min-width:0}#cabinet-app .project-help-chat #chat-msg-thread{height:320px;max-height:45dvh}#cabinet-app .project-help-chat .chat-modal-notes{display:none}#cabinet-app .project-workspace-main{min-width:0}



.hero-dzen-wrap{position:relative;display:inline-flex;align-self:flex-start}


.hero-dzen.btn{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.52);color:#14694f;border:1px solid rgba(15,157,107,.28);box-shadow:0 5px 18px rgba(15,157,107,.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s}


.hero-dzen.btn:hover,.hero-dzen.btn:focus-visible{background:rgba(228,248,238,.88);border-color:#0f9d6b;box-shadow:0 7px 20px rgba(15,157,107,.12)}


.hero-dzen-icon{width:19px;height:19px;flex:none}


.hero-dzen-tip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,5px);width:max-content;max-width:min(260px,80vw);padding:10px 14px;border-radius:12px;background:#142c24;color:white;font-size:13px;line-height:1.4;font-weight:500;box-shadow:0 6px 20px #142c2420;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s;z-index:5}


.hero-dzen-wrap:hover .hero-dzen-tip,.hero-dzen-wrap:focus-within .hero-dzen-tip{opacity:1;visibility:visible;transform:translate(-50%,0)}


@media(prefers-reduced-motion:reduce){.hero-dzen,.hero-dzen-tip{transition:none!important}}




.about{padding-block:34px;overflow:hidden}.about-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;align-items:start;position:relative;isolation:isolate}
.about-letter{position:relative;transform:rotate(-.25deg);padding:25px 258px 24px 30px;min-width:0;background:linear-gradient(115deg,rgba(232,241,255,.82),rgba(220,242,232,.65));border:1px solid rgba(255,255,255,.85);border-radius:26px 26px 7px 26px;box-shadow:0 8px 28px rgba(30,70,80,.035)}.about-story{position:relative;z-index:2;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:17px;font-weight:400;line-height:1.65;color:#475954;letter-spacing:0;max-width:none;padding:0;text-shadow:none}.about-story p{display:inline;margin:0}.about-story p+p:before{content:' '}.about-story p:first-child{color:inherit}
.about .founder-row{position:relative;z-index:2;margin-top:13px}.about .founder-name{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:17px;font-weight:400;color:var(--accent-school-ink);padding:0}.about .quote-mark{display:none}
.about-letter:before{content:'“';position:absolute;left:12px;top:-17px;font:90px Georgia,serif;color:rgba(33,109,244,.10);pointer-events:none}
.about-portrait{position:absolute;right:0;bottom:-12px;width:235px;height:235px;margin:0;z-index:1;pointer-events:none;transform:rotate(1deg)}.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 34%;opacity:.88;filter:contrast(.88);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 87%,transparent),linear-gradient(transparent,#000 12%,#000 77%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 87%,transparent),linear-gradient(transparent,#000 12%,#000 77%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.about .about-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;justify-self:stretch;max-width:none;margin:0;padding:0;position:relative;z-index:2}.about .about-point{margin:0}.about .about-point h4{font-size:18px;line-height:1.4}.about .about-point p{font-size:16px;line-height:1.6}
@media(max-width:1000px){.about-letter{padding-right:200px}.about-portrait{width:185px;height:210px}.about-story{font-size:16px}.about .about-points{gap:24px}}
@media(max-width:760px){.about{padding-block:26px}.about-grid{gap:28px}.about-letter{padding:22px 22px 154px;transform:none}.about-story{font-size:16px;line-height:1.65}.about-portrait{width:174px;height:174px;right:18px;bottom:-8px}.about .about-points{grid-template-columns:1fr;gap:22px}.about .founder-name{font-size:16px}}




#cabinet-app .mobile-chat-edge,#cabinet-app .mobile-chat-head,#cabinet-app .mobile-chat-shade{display:none}


@media(max-width:760px){


 #cabinet-app .project-help-chat{position:fixed!important;inset:calc(var(--workspace-header-height,64px) + 8px) 0 calc(92px + env(safe-area-inset-bottom,0px)) auto!important;width:min(360px,calc(100vw - 28px));height:auto!important;max-height:none!important;background:#fff;border:1px solid #d5e2f5;border-radius:20px 0 0 20px;box-shadow:-10px 0 32px #14283d26;padding:10px;z-index:3200;transform:translateX(105%);transition:transform .24s ease;display:flex;flex-direction:column;overflow:hidden;}


 #cabinet-app .project-help-chat.mobile-chat-open{transform:translateX(0)}


 #cabinet-app .project-help-chat.mobile-chat-dragging{transition:none}


 #cabinet-app .mobile-chat-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 10px;flex:none;touch-action:pan-y}


 #cabinet-app .project-help-chat>details{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;border:0;margin:0}


 #cabinet-app .project-help-chat>details>summary{display:none}


 #cabinet-app .project-help-chat .project-panel{display:flex!important;flex-direction:column;flex:1;min-height:0;overflow:auto}


 #cabinet-app .project-help-chat .inline-chat,#cabinet-app .project-help-chat .chat-modal-wide,#cabinet-app .project-help-chat .chat-modal-layout,#cabinet-app .project-help-chat .chat-modal-main{position:static!important;display:flex!important;flex-direction:column;min-height:0;max-height:none!important;flex:1;width:100%!important;padding:0!important;border:0!important;overflow:auto}


 #cabinet-app .project-help-chat .chat-msg-thread,#cabinet-app .project-help-chat .thread{min-height:90px;flex:1;max-height:none!important;overflow:auto}


 #cabinet-app .project-help-chat textarea{min-height:60px!important;max-height:100px}


 #cabinet-app .mobile-chat-edge{display:flex;position:fixed;right:0;top:44%;z-index:3201;align-items:center;gap:5px;min-height:44px;padding:9px 6px 9px 10px;background:#1f6feb;color:#fff;border:0;border-radius:13px 0 0 13px;box-shadow:0 3px 12px #1f6feb40;font-size:12px;font-weight:700;touch-action:pan-y;cursor:grab}


 #cabinet-app .mobile-chat-edge svg{width:16px;height:16px;flex:none}


 #cabinet-app .mobile-chat-edge[aria-expanded="true"]{display:none}


 #cabinet-app .mobile-chat-shade{display:block;position:fixed;inset:var(--workspace-header-height,64px) 0 calc(92px + env(safe-area-inset-bottom,0px));background:#14283d33;z-index:3199}


 #cabinet-app .project-help-chat .telemost-widget{margin:4px 0!important}


}


@media(prefers-reduced-motion:reduce){#cabinet-app .project-help-chat{transition:none!important}}



#cabinet-app .site-platform-vds{background:#1f6feb!important;border-color:#1f6feb!important;color:#fff!important;box-shadow:0 3px 12px #1f6feb20}#cabinet-app .site-platform-vds[aria-pressed="false"]{outline:2px solid #bcd4ff;outline-offset:2px}#cabinet-app .site-platform-vds[aria-pressed="true"]{box-shadow:0 0 0 3px #bcd4ff}#cabinet-app .site-platform-comparison{margin:14px 0;padding:12px 15px;border-radius:14px;background:#edf4ff;font-size:13px;line-height:1.55}#cabinet-app .site-platform-comparison p+p{margin-top:9px}#cabinet-app .site-platform-comparison strong{color:#11633f}#cabinet-app .site-platform-ask{color:#155abc;white-space:normal;display:inline-flex;gap:8px;align-items:center}#cabinet-app .site-platform-ask svg{width:22px;height:22px;flex:none}#cabinet-app .project-next-action>.btn{flex-shrink:0;white-space:nowrap}#cabinet-app .spec-file-alternative{font-size:13px;font-weight:700;color:#596575;margin:14px 0 8px}@media(max-width:760px){#cabinet-app .site-platform-ask svg{transform:rotate(20deg)}}
#cabinet-app .linked-project-action{display:flex;flex-direction:column;align-items:flex-end;max-width:280px;gap:5px}#cabinet-app .linked-project-help{font-size:11px;line-height:1.45;color:#64758b;margin:0;text-align:right}#cabinet-app .linked-project-help span{display:inline-flex;align-items:center;justify-content:center;border:1px solid #96b9ef;border-radius:50%;color:#155abc;width:17px;height:17px;font-weight:700;margin-right:4px}@media(max-width:760px){#cabinet-app .linked-project-action{max-width:100%;align-items:flex-start}#cabinet-app .linked-project-help{text-align:left}}
#cabinet-app .admin-stage-actions{display:grid;gap:12px;padding:16px;margin:0 0 18px;background:#f3f7ff;border:1px solid #cfdef5;border-radius:18px}#cabinet-app .admin-stage-actions[hidden]{display:none!important}#cabinet-app .admin-stage-actions>.row-actions{margin:0}#cabinet-app .client-reference-library{padding:16px;border:1px solid var(--border);border-radius:16px;margin:0 0 20px}#cabinet-app .client-reference-library .project-example-row{display:flex;flex-direction:column;align-items:flex-start;gap:3px}#cabinet-app .client-reference-library a{overflow-wrap:anywhere}#cabinet-app .client-reference-library small{color:var(--ink-faint)}
#cabinet-app .client-stage-actions{display:grid;gap:14px;margin:0 0 18px}#cabinet-app .client-stage-actions[hidden]{display:none!important}#cabinet-app .client-stage-actions .price-block{border:1px solid #bdd4f7;background:#edf4ff;padding:18px;border-radius:18px}#cabinet-app .client-project-information{margin:24px 0 0}#cabinet-app .client-project-information .p-desc{margin:14px 0}
#cabinet-app .terms-confirmed-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;border:1px solid #a5ddc6;background:#e4f6ed;border-radius:14px;color:#096545}#cabinet-app .terms-confirmed-summary span{font-size:13px}#cabinet-app .terms-confirmed-summary .btn{margin-left:auto}
#cabinet-app #tab-client-chat,#cabinet-app #tab-admin-chat{display:none!important}#cabinet-app .project-summary-header{padding:14px 0 18px;border-bottom:1px solid var(--border);margin-bottom:18px}#cabinet-app .project-summary-download{position:static!important;width:auto!important;height:auto!important;margin:10px 0!important}#cabinet-app .project-summary-header h4{margin:0 0 10px}#cabinet-app .project-tabs{flex-wrap:wrap;gap:6px}
#cabinet-app .saved-form-summary,#cabinet-app .completed-form-summary{padding:12px 14px!important;border:1px solid #a5ddc6!important;border-radius:14px;background:#e4f6ed!important;color:#096545;display:flex;align-items:center;flex-wrap:wrap;gap:10px}#cabinet-app .saved-form-summary p{margin:0!important}#cabinet-app .private-details-saved{padding:12px!important;min-height:0!important}#cabinet-app .private-details-saved>summary{margin-bottom:8px!important}#cabinet-app .private-details-saved .project-private-body{padding:0!important;min-height:0!important}#cabinet-app .completed-form-summary button{margin-left:auto}
#cabinet-app .project-upload-complete{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;background:#e3f5ec;border:1px solid #bce4d0;border-radius:14px;color:#087344;min-height:0;margin-block:10px}#cabinet-app .project-upload-complete .btn{margin:0}

#cabinet-app .project-summary-download{width:auto!important;height:auto!important;min-width:0!important;min-height:40px!important;padding:9px 16px!important;border-radius:999px!important;font-size:14px!important;white-space:normal!important}
#cabinet-app .project-summary-header{padding:18px;border:1px solid #dde6f3;border-radius:16px;background:#f7f9fc}
#cabinet-app .project-summary-header h4{margin:0 0 14px}
#cabinet-app .project-summary-header dl{display:grid;grid-template-columns:minmax(100px,160px) minmax(0,1fr);gap:0;margin:0 0 16px}
#cabinet-app .project-summary-header dt,#cabinet-app .project-summary-header dd{margin:0;padding:10px 0;border-bottom:1px solid #e1e7f0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
#cabinet-app .project-summary-header dt{color:#617082;padding-right:14px}#cabinet-app .project-summary-header dd{color:#172536;font-weight:600}
#cabinet-app .project-help-chat{height:calc(100dvh - var(--workspace-header-height,64px) - 36px);max-height:760px;display:flex;flex-direction:column;overflow:hidden}
#cabinet-app .project-help-chat>details{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
#cabinet-app .project-help-chat>details>summary{flex:none}
#cabinet-app .project-help-chat>details:not([open]){flex:0}
#cabinet-app .project-help-chat>details:not([open])>.project-panel{display:none!important}
#cabinet-app .project-help-chat>details[open]>.project-panel{display:flex!important;flex-direction:column;flex:1;min-height:0;overflow:hidden}
#cabinet-app .project-help-chat .inline-chat,#cabinet-app .project-help-chat .chat-modal-wide,#cabinet-app .project-help-chat .chat-modal-layout,#cabinet-app .project-help-chat .chat-modal-main{display:flex!important;flex-direction:column;flex:1;min-height:0;height:100%!important;max-height:none!important;overflow:hidden!important;padding:0!important}
#cabinet-app .project-help-chat .chat-modal-notes{display:none!important}
#cabinet-app .project-help-chat .thread,#cabinet-app .project-help-chat .p-thread,#cabinet-app .project-help-chat #chat-msg-thread{flex:1 1 0!important;min-height:70px!important;height:auto!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
#cabinet-app .project-help-chat .msg-form,#cabinet-app .project-help-chat .p-msg-form{flex:0 0 auto!important;margin-top:10px;position:relative}
#cabinet-app .project-help-chat textarea{font-size:16px!important;min-height:56px!important;max-height:100px!important}
#cabinet-app .project-help-chat .chat-modal-main>h3,#cabinet-app .project-help-chat .chat-modal-main>h3+.small{display:none}
#cabinet-app .brief-price-modal{width:min(900px,calc(100vw - 32px))!important;max-width:900px!important;overflow:hidden!important;display:flex;flex-direction:column;max-height:calc(100dvh - 40px)}
#cabinet-app .brief-price-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:24px;min-height:0;overflow:hidden}
#cabinet-app .brief-price-layout>#service-order-form{min-width:0;overflow-y:auto;padding-right:8px;overscroll-behavior:contain}
#cabinet-app .brief-live-price{align-self:start;border:1px solid #cfdef5;background:#f1f6ff;border-radius:18px;padding:18px}
#cabinet-app .brief-live-price .brief-total-box{padding:0;background:none;margin:0;display:block}
#cabinet-app .brief-live-price .tv{font-size:28px;line-height:1.3;overflow-wrap:anywhere}
#cabinet-app .brief-live-price .bargain-note{font-size:12px;line-height:1.5;margin:14px 0 0}
@media(max-width:1100px) and (min-width:701px){#cabinet-app .project-help-chat{max-height:620px;height:65dvh}}
@media(max-width:700px){#cabinet-app .project-help-chat{max-height:none!important;height:auto!important}#cabinet-app .brief-price-modal{width:100%!important;max-height:100%!important}#cabinet-app .brief-price-layout{display:flex;flex-direction:column;gap:12px;flex:1}#cabinet-app .brief-live-price{order:-1;width:100%;box-sizing:border-box;padding:10px 14px;flex:none;display:flex;align-items:center;gap:14px}#cabinet-app .brief-live-price .tv{font-size:23px}#cabinet-app .brief-live-price .bargain-note{margin:0;flex:1;font-size:11px}#cabinet-app .brief-price-layout>#service-order-form{flex:1;min-height:0}}

#cabinet-app .project-help-chat>details[open]::details-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}#cabinet-app .client-stage-actions .doc-row,#cabinet-app .admin-stage-actions .doc-row{padding:14px;background:white;border:1px solid #dce5f3;border-radius:12px;gap:12px;flex-wrap:wrap}#cabinet-app .client-stage-actions:empty,#cabinet-app .admin-stage-actions:empty{display:none}#cabinet-app .project-stage-inline{display:none}#cabinet-app .project-help-chat .project-stage-inline{display:flex}

.about{padding-block:44px}.about-grid{gap:42px}.about-letter{transform:none;padding:28px 294px 26px 32px;border-radius:24px;background:linear-gradient(120deg,#eaf2ff,#e8f4ef);box-shadow:none;min-height:244px}.about-portrait{width:244px;height:244px;right:18px;top:-14px;bottom:auto;transform:rotate(3deg);z-index:3;overflow:visible}.about-portrait:before{content:'';position:absolute;inset:8px -8px -8px 8px;background:#226cf4;border-radius:22px 22px 48px 22px;transform:rotate(-7deg);z-index:-1}.about-portrait img{display:block;object-fit:cover;object-position:50% 32%;opacity:1;filter:none;-webkit-mask-image:none;mask-image:none;border-radius:22px 22px 48px 22px;box-shadow:0 10px 24px #14365512}
@media(max-width:1000px){.about-letter{padding-right:240px;min-height:220px}.about-portrait{width:198px;height:220px;right:18px;top:-10px}}
@media(max-width:760px){.about{padding-block:28px}.about-grid{gap:32px}.about-letter{padding:24px 24px 218px;min-height:0}.about-portrait{width:184px;height:184px;right:24px;top:auto;bottom:18px;transform:rotate(2deg)}.about-portrait:before{inset:6px -6px -6px 6px}.about-portrait img{border-radius:18px 18px 36px 18px}}
@media(max-width:760px){
#cabinet-app .project-help-chat{z-index:3200!important;box-sizing:border-box;touch-action:pan-y}
#cabinet-app .mobile-chat-shade[hidden]{display:none!important}
#cabinet-app .project-help-chat>details,#cabinet-app .project-help-chat .project-panel{overflow:hidden!important}
#cabinet-app .project-help-chat .modal-backdrop{position:static!important;inset:auto!important;display:flex!important;flex-direction:column;flex:1;min-height:0;background:none!important;backdrop-filter:none!important;padding:0!important;overflow:hidden!important}
#cabinet-app .project-help-chat .chat-modal-wide,#cabinet-app .project-help-chat .chat-modal-layout,#cabinet-app .project-help-chat .chat-modal-main{height:auto!important}
#cabinet-app .project-help-chat .p-thread,#cabinet-app .project-help-chat #chat-msg-thread{touch-action:pan-y;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
#cabinet-app .project-help-chat .msg-form,#cabinet-app .project-help-chat .p-msg-form{padding-bottom:4px;flex-shrink:0}
#cabinet-app .project-help-chat .telemost-widget:not([open]){flex:none}
}

@media(min-width:1100px){#c-service-modal-root.training-request-active .modal-backdrop{justify-content:flex-start;padding:24px 376px 24px 24px}#c-service-modal-root.training-request-active .modal{width:100%;max-width:1049px!important;margin:0}}@media(min-width:761px) and (max-width:1099px){#c-service-modal-root.training-request-active .modal-backdrop{justify-content:flex-start;padding:16px 310px 16px 16px}#c-service-modal-root.training-request-active .modal{width:100%;max-width:none!important;margin:0}#c-training-panel{max-width:286px}}


#cabinet-app .brief-value,#cabinet-app .brief-grid,#cabinet-app .project-summary-description,#cabinet-app .project-example-row,#cabinet-app .client-values-readonly,#cabinet-app .doc-row,#cabinet-app .bubble{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
#cabinet-app .project-example-row a,#cabinet-app .brief-row span,#cabinet-app .project-brief-materials pre{overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}
#cabinet-app .site-platform-vds[aria-pressed="false"]{background:transparent!important;border-color:#dce5f3!important;color:var(--ink)!important;box-shadow:none!important}
#cabinet-app .platform-complete{background:#e9f8ef;border:1px solid #bce3cb;border-radius:12px;padding:12px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#14683f}
#cabinet-app .structured-project-summary> :not(.project-summary-header):not(.summary-data-group){display:none!important}
#cabinet-app .project-summary-header{min-width:0}.summary-data-group{margin-top:14px;border:1px solid #dce5f3;border-radius:12px;padding:14px}.summary-data-group>summary{font-weight:700;cursor:pointer}.summary-data-group> :not(summary){margin-top:12px}
#cabinet-app #panel-admin-documents> :not(#d-list),#cabinet-app #panel-admin-payments> :not(#pm-list),#cabinet-app #panel-client-documents .p-documents-section> :not(.p-documents):not(.section-title){display:none!important}
#cabinet-app .terms-client-feedback{padding:14px 18px;border:1px solid #eed39c;background:#fff8e9;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere}
#cabinet-app .project-private-result{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 18px;background:#edf8f1;border:1px solid #c2e5cf;border-radius:12px}
@media(max-width:760px){#cabinet-app .project-help-chat>.project-chat-mobile-panel{display:flex!important;flex-direction:column;flex:1;min-height:0;overflow:hidden!important}#cabinet-app .project-help-chat>.project-chat-mobile-panel .p-thread,#cabinet-app .project-help-chat>.project-chat-mobile-panel #chat-msg-thread{flex:1 1 0!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;touch-action:pan-y;-webkit-overflow-scrolling:touch}#cabinet-app .project-help-chat .telemost-widget{flex:none!important}#cabinet-app .project-help-chat>.project-chat-mobile-panel .p-msg-form,#cabinet-app .project-help-chat>.project-chat-mobile-panel .msg-form{flex:none!important}#cabinet-app .project-help-chat>details{display:none!important}}

#cabinet-app .terms-reject-form{display:grid;gap:12px;margin-top:16px}#cabinet-app .terms-reject-form[hidden]{display:none!important}#cabinet-app .terms-reject-form label{font-weight:600}#cabinet-app .terms-reject-form textarea{width:100%;max-width:100%;font-size:16px;line-height:1.5;min-height:110px;padding:12px 14px;resize:vertical}#cabinet-app .terms-reject-form .row-actions{flex-wrap:wrap}
/* Маленькое примечание под стрелкой перемещения обучения. */
.training-drag-handle small {
  font-size: 11px !important;
  line-height: 1.2;
  font-weight: 400;
}

/* Сохранение выполняется после всех полей и переключателя подписки. */
#subscription-form > .row-actions {
  grid-column: 1 / -1;
}

#cabinet-app .spec-attachments{border:1px solid var(--border,#dbe5f2);border-radius:14px;padding:16px;min-width:0}
#cabinet-app .spec-attachment-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--border,#dbe5f2)}
#cabinet-app .spec-attachment-row>*{max-width:100%;overflow-wrap:anywhere}
#cabinet-app .spec-attachment-row>span{flex:1;min-width:120px}
#cabinet-app .document-feedback-body{background:#fff;overflow:auto;min-height:0;padding:24px;flex:1;overscroll-behavior:contain}
#cabinet-app .document-feedback-body p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
#cabinet-app .document-feedback-body section{max-width:820px;margin:0 auto 20px}
#cabinet-app .document-feedback-body button{display:block;margin-top:12px;white-space:normal;overflow-wrap:anywhere}
#cabinet-app .materials-returned{background:#fff0f0!important;border-color:#eaa5a5!important;color:#a52323!important}
#cabinet-app .materials-returned>summary{color:#a52323!important}
#cabinet-app .doc-row>span:last-child{flex-wrap:wrap;max-width:100%}

#cabinet-app .public-contract-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}#cabinet-app .public-contract-card{margin:0;min-width:0;overflow-wrap:anywhere}#cabinet-app .public-contract-card h3{font-size:19px;margin:0 0 10px}#cabinet-app .public-contract-card p{white-space:pre-wrap}#cabinet-app #a-public-contract-form{max-width:800px;margin:20px 0}#cabinet-app .public-contract-grid+details,#cabinet-app #a-public-contract-list>details{margin-top:24px}#cabinet-app .public-contract-grid .row-actions{flex-wrap:wrap}

#cabinet-app .word-document-viewer{background:#edf0f4;height:100dvh;max-height:100dvh}
#cabinet-app .word-document-viewer .viewer-bar{flex:none;display:flex;gap:12px;padding:14px 24px;background:#fff;box-shadow:0 2px 12px #17263508;z-index:1}
#cabinet-app .word-document-viewer .vb-title{flex:1;min-width:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
#cabinet-app .word-document-viewer .viewer-bar .btn{flex:none;min-height:44px;white-space:nowrap}
#cabinet-app .word-document-viewer .viewer-frame-wrap{padding:0!important;overflow:hidden!important;min-height:0;display:flex!important}
#cabinet-app .word-document-viewer .viewer-frame-wrap iframe{display:block;width:100%;height:100%;min-height:0!important;border:0;border-radius:0;background:#edf0f4}
@media(max-width:600px){#cabinet-app .word-document-viewer .viewer-bar{padding:10px 16px;gap:8px}#cabinet-app .word-document-viewer .vb-title{flex-basis:100%;font-size:13px}#cabinet-app .word-document-viewer .viewer-bar .btn{font-size:14px;padding:8px 16px}#cabinet-app .word-document-viewer .viewer-close{margin-left:auto}}

.about-company-title{margin:0 0 28px;font-size:clamp(28px,3.5vw,42px);line-height:1.1;color:var(--ink)}.about-quote-fold{min-width:0}.about-quote-fold>summary{display:none}.about-collapse-label{display:none}.about-quote-fold[open] .about-collapse-label{display:inline}.about-quote-fold[open] .about-expand-label{display:none}@media(max-width:720px){.about-company-title{margin-bottom:22px}.about-quote-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;cursor:pointer;font:700 16px/1.4 system-ui;color:var(--accent-it-ink);list-style:none}.about-quote-fold>summary::-webkit-details-marker{display:none}.about-quote-fold[open]>summary{margin-bottom:16px}.about-quote-fold[open]>summary svg{transform:rotate(180deg)}}.about-quote-fold>summary:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:6px}

.cabinet-preview-bar > span:not(.cabinet-preview-url){width:9px;height:9px;flex:none}
.cabinet-preview-bar .cabinet-preview-url{width:auto;height:auto;border-radius:6px;min-width:0;overflow-wrap:anywhere;line-height:1.45}
.cabinet-preview-open{display:block;text-decoration:none}
.cabinet-preview-caption{display:block;padding:12px 16px;font-size:13px;font-weight:700;color:var(--accent-it-ink);border-top:1px solid var(--line);background:var(--surface)}
@media(max-width:640px){.cabinet-preview{transform:none!important}.cabinet-preview-url{font-size:10px}}

/* Маленькое примечание под стрелкой перемещения обучения. */
.training-drag-handle small {
  font-size: 11px !important;
  line-height: 1.2;
  font-weight: 400;
}

/* Сохранение выполняется после всех полей и переключателя подписки. */
#subscription-form > .row-actions {
  grid-column: 1 / -1;
}

#cabinet-app .project-next-action{padding:16px 18px;min-height:0;gap:10px;align-items:center}
#cabinet-app #screen-client>.wrap,#cabinet-app #screen-admin>.wrap{overflow-anchor:none;scroll-behavior:auto!important}
#cabinet-app .project-next-action strong{font-size:15px;line-height:1.5}
#cabinet-app .crm-request-footer{gap:6px;align-items:center}
#cabinet-app .crm-request-footer[hidden]{display:none!important}
#cabinet-app .crm-request-footer .crm-request-button{min-width:0;flex:1}
#cabinet-app .crm-request-close{display:grid;place-items:center;flex:0 0 36px;min-height:40px;padding:6px;border:1px solid #ccd9e9;border-radius:12px;color:#506982;background:#fff;cursor:pointer}
#cabinet-app .crm-request-close:focus-visible{outline:3px solid #4c8df5;outline-offset:2px}
#cabinet-app .bubble .att-file{max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;white-space:normal}
#cabinet-app .att-download-label{font-size:11px;font-weight:600;opacity:.8;margin-left:4px;flex:none}
#cabinet-app .doc-row>span:last-child{flex-wrap:wrap;justify-content:flex-end;max-width:100%}
#cabinet-app .contract-form-arrow{width:24px;height:24px;color:#216df4;flex:none}
#cabinet-app .project-reference-fold{clear:both;border-top:1px solid #dce5ef;margin-top:24px;padding-top:16px;min-width:0}
#cabinet-app .project-reference-fold>summary{font-size:14px;color:#52657a;font-weight:700;cursor:pointer;padding:10px 0;min-height:44px}
#cabinet-app .project-reference-fold>.project-tabs{margin-top:10px}
#cabinet-app .project-reference-fold .document-history{margin-top:12px}
#cabinet-app [data-client-stage-mode=waiting] .client-stage-actions{display:none!important}
#cabinet-app #screen-client .client-stage-actions>.private-project-details{margin-top:0}
#cabinet-app #screen-client #panel-client-overview{display:none!important}
#cabinet-app .client-contact-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:12px 16px;border:1px solid #bdd4f5;border-radius:14px;background:#eef5ff}
#cabinet-app .client-contact-entry p{margin:0;font-size:13px;color:#335576}
#cabinet-app .client-contact-entry button{flex:none;min-height:44px}
#cabinet-app .payment-method-label{width:100%;margin:6px 0 0;line-height:1.5}
#cabinet-app .project-help-chat .msg-form,#cabinet-app .messenger-conversation>.msg-form,#cabinet-app .chat-modal .msg-form{display:grid!important;grid-template-columns:36px minmax(0,1fr) auto!important;align-items:end!important;gap:7px!important;padding:10px 0!important;flex-wrap:nowrap!important}
#cabinet-app .project-help-chat .msg-form textarea,#cabinet-app .messenger-conversation>.msg-form textarea{grid-column:2;min-width:0;width:100%!important;min-height:42px!important;max-height:120px!important;padding:10px 12px!important;font-size:16px!important;line-height:1.4!important;box-sizing:border-box;margin:0!important}
#cabinet-app .project-help-chat .msg-form>.msg-attach-btn,#cabinet-app .messenger-conversation>.msg-form>.msg-attach-btn{grid-column:1;grid-row:1;width:36px!important;height:42px!important;margin:0!important}
#cabinet-app .project-help-chat .msg-form>button[type=submit],#cabinet-app .messenger-conversation>.msg-form>button[type=submit]{grid-column:3;grid-row:1;min-height:42px!important;width:auto!important;margin:0!important;padding:8px 10px!important;font-size:12px!important}
#cabinet-app .msg-form>.msg-pending-file,#cabinet-app .msg-form>.support-send-status{grid-column:1/-1}
#cabinet-app .support-conversation>.msg-form{grid-template-columns:minmax(0,1fr) auto!important}
#cabinet-app .support-conversation>.msg-form textarea{grid-column:1!important}
#cabinet-app .support-conversation>.msg-form>button[type=submit]{grid-column:2!important}
#cabinet-app .bargain-note[hidden]{display:none!important}
#cabinet-app #c-service-modal-root .modal-backdrop{z-index:6000;padding:16px;box-sizing:border-box}
#cabinet-app #c-service-modal-root .modal{width:100%;max-height:calc(100dvh - 32px);overflow:auto;scroll-padding-top:90px;box-sizing:border-box}
#cabinet-app .service-request-header{position:sticky;top:-24px;z-index:3;background:#fff;padding:16px 0 12px;border-bottom:1px solid #e1e8f2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 16px}
#cabinet-app .service-request-header h3{margin:0;font-size:22px;line-height:1.4}
#cabinet-app .service-request-header button{min-height:44px;flex:none}
#cabinet-app .brief-live-price{z-index:1}
#cabinet-app .training-mobile-notice{font-size:11px!important;font-weight:500!important;padding:6px 9px!important;border:0!important;border-radius:8px;background:#edf3fa!important;color:#63768a;margin:0 0 10px;line-height:1.4;width:max-content;max-width:100%}
@media(max-width:760px){
 #cabinet-app #screen-client .crm-request-footer{margin:0!important;padding:8px 12px calc(76px + env(safe-area-inset-bottom,0px))!important;justify-content:center;background:#f2f5f9}
 #cabinet-app #screen-client .crm-request-button{font-size:12px;min-height:40px;padding:9px 14px;width:100%}
 #cabinet-app #c-service-modal-root .modal-backdrop{padding:8px;align-items:center;inset:0!important;position:fixed}
 #cabinet-app #c-service-modal-root .modal{max-height:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:16px!important;border-radius:18px}
 #cabinet-app .service-request-header{top:-16px;padding-top:12px;gap:8px}
 #cabinet-app .service-request-header h3{font-size:20px}
 #cabinet-app .service-request-header .btn{font-size:12px;padding:8px 12px}
 #cabinet-app .client-contact-entry{padding:10px 12px;flex-wrap:wrap}
 #cabinet-app .client-contact-entry button{width:100%;justify-content:center}
 #cabinet-app .project-stage-map .stage-stepper{scroll-behavior:auto;scroll-snap-type:none}
 #cabinet-app .project-stage-map .stage-label{hyphens:none!important;overflow-wrap:normal!important}
}

@media(max-width:760px){
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-backdrop{z-index:6100;background:rgba(14,28,46,.38);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet{z-index:6101;padding:26px 20px calc(20px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;max-height:calc(100dvh - 80px);border:1px solid rgba(255,255,255,.8);border-bottom:0;box-shadow:0 -8px 36px rgba(21,43,74,.12);background:#fff;scrollbar-width:thin}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet::before{content:"";position:absolute;width:34px;height:4px;top:9px;left:calc(50% - 17px);border-radius:8px;background:#d9e1eb}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-head{margin-bottom:14px;gap:12px;font:800 20px/1.4 Manrope,sans-serif;letter-spacing:-.35px;color:#152b43}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-head button{display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:8px;border:0;background:#f2f5f9;color:#6a7b8e;border-radius:50%;flex:none}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-head button svg{width:18px;height:18px}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-list{display:flex;flex-direction:column;gap:2px;margin:0 -4px}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-list button{min-height:58px;width:100%;display:flex;align-items:center;gap:13px;padding:9px 12px;border:0;border-radius:14px;background:transparent;box-shadow:none;color:#22384e;font:650 14px/1.4 Manrope,sans-serif;text-align:left;cursor:pointer}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-list button:hover{background:#f5f8fc}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-list button.active{border:0;background:#edf4ff;color:#185cbe}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-list .nav-ico{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;color:#4b75a6;background:#f0f5fc}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-list .nav-ico svg{width:19px;height:19px}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-list .mobile-sheet-caption{flex:1;min-width:0;overflow-wrap:anywhere}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-sheet-chevron{display:block;flex:0 0 16px;width:16px;height:16px;color:#8d9eb1}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #e8edf4}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-actions button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 8px;border:0;border-radius:12px;background:#f6f8fb;box-shadow:none;color:#6c7c8d;font:600 11px/1.4 Manrope,sans-serif;text-align:center;cursor:pointer}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-actions .nav-ico{display:flex;align-items:center;flex:none;width:16px;height:16px}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-actions .nav-ico svg{width:16px;height:16px}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-actions .mobile-sheet-contact{grid-column:1/-1;min-height:48px;margin-bottom:2px;border:1px solid #cddff8;background:#edf5ff;color:#205fae;font-size:14px;font-weight:750}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-actions .mobile-sheet-contact .nav-ico,#cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-actions .mobile-sheet-contact .nav-ico svg{width:20px;height:20px}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-actions button:hover{background:#edf2f8;color:#294d75}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet-actions .mobile-sheet-contact:hover{background:#e1edff}
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet button:focus-visible{outline:2px solid #377ed8;outline-offset:3px}
 #cabinet-app #cview-contracts>.card{padding:0;border:0;background:transparent;box-shadow:none}
 #cabinet-app #cview-contracts .table-scroll{overflow:visible}
 #cabinet-app #cview-contracts table{display:block;width:100%;min-width:0;border:0}
 #cabinet-app #cview-contracts thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
 #cabinet-app #c-contracts-tbody{display:grid;gap:12px;width:100%}
 #cabinet-app #c-contracts-tbody>tr{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px 12px;padding:16px;border:1px solid #e0e8f2;border-radius:18px;background:#fff;box-shadow:0 3px 12px rgba(21,43,74,.035);min-width:0}
 #cabinet-app #c-contracts-tbody td{display:block;min-width:0;max-width:100%;width:auto!important;padding:0;border:0;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none;line-height:1.5}
 #cabinet-app #c-contracts-tbody td:nth-child(1){grid-column:1/-1;font-size:11px;color:#718396;overflow-wrap:anywhere}
 #cabinet-app #c-contracts-tbody td:nth-child(1)::before{content:"Проект: ";font-weight:500}
 #cabinet-app #c-contracts-tbody td:nth-child(2){grid-column:1/-1;font-size:15px;font-weight:700;color:#22384e;overflow-wrap:anywhere}
 #cabinet-app #c-contracts-tbody td:nth-child(3){font-size:12px;color:#718396}
 #cabinet-app #c-contracts-tbody td:nth-child(4){justify-self:end;font-size:12px}
 #cabinet-app #c-contracts-tbody td .pill{max-width:100%;font-size:11px;line-height:1.5;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none}
 #cabinet-app #c-contracts-tbody td:nth-child(5){grid-column:1/-1;font-size:11px;color:#8090a2}
 #cabinet-app #c-contracts-tbody td:nth-child(6){grid-column:1/-1;padding-top:10px;border-top:1px solid #edf1f6}
 #cabinet-app #c-contracts-tbody td:nth-child(6)>span{display:flex!important;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-start!important;width:100%;min-width:0}
 #cabinet-app #c-contracts-tbody td:nth-child(6) .btn,#cabinet-app #c-contracts-tbody td:nth-child(6) a{min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;max-width:100%;box-sizing:border-box}
}

#cabinet-app #screen-admin .lead-card-service,#cabinet-app #screen-admin .chat-contact-line{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.55}

#cabinet-app .stage-workflow-primary{display:grid;gap:12px;padding:0;margin:14px 0 18px;min-width:0}
#cabinet-app .stage-workflow-primary[hidden]{display:none!important}
#cabinet-app .stage-workflow-material{padding:14px 16px;border:1px solid #dce5f3;border-radius:16px;background:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}
#cabinet-app .stage-workflow-material-title{display:flex;align-items:flex-start;gap:9px;min-width:0;width:100%;overflow-wrap:anywhere;line-height:1.45}
#cabinet-app .stage-workflow-material-title svg{width:20px;height:22px;flex:none;color:#3778c5}
#cabinet-app .stage-workflow-material.is-received{background:#f4faf7;border-color:#cee8db}
#cabinet-app .stage-workflow-received{font-size:12px;font-weight:700;color:#23845f}
#cabinet-app .stage-workflow-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#cabinet-app .stage-workflow-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;align-items:end}
#cabinet-app .stage-workflow-field,#cabinet-app .stage-workflow-upload{display:grid;gap:6px;font-size:13px;font-weight:600;line-height:1.4;min-width:0}
#cabinet-app .stage-workflow-field input,#cabinet-app .stage-workflow-field textarea,#cabinet-app .stage-workflow-upload input{width:100%;min-width:0;padding:10px 12px;border:1px solid #d7e2f1;border-radius:12px;background:#f7f9fd;font:inherit;font-weight:400;color:#243546}
#cabinet-app .stage-workflow-field:has(textarea),#cabinet-app .stage-workflow-upload,#cabinet-app .stage-workflow-status{grid-column:1/-1}
#cabinet-app .stage-workflow-upload input{padding:8px}
#cabinet-app .stage-workflow-upload input::file-selector-button{border:0;border-radius:8px;padding:7px 10px;margin-right:8px;background:#e8f0ff;color:#235baa;font:inherit}
#cabinet-app .stage-workflow-corrections{padding:12px 14px;border:1px solid #dce5f3;border-radius:14px;background:#f7f9fd}
#cabinet-app .stage-workflow-corrections summary{font-size:13px;font-weight:600;cursor:pointer}
#cabinet-app .stage-workflow-correction-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5;width:100%}
#cabinet-app .stage-workflow-returned{padding:10px 14px;border-radius:12px;background:#fff5ed;color:#a85b2b;margin:0;white-space:pre-wrap}
#cabinet-app [data-stage-workflow-managed=true] #a-act-section,#cabinet-app [data-stage-workflow-managed=true] .client-act-action,#cabinet-app [data-stage-workflow-managed=true] .final-project-handoff{display:none!important}
#cabinet-app .stage-workflow-status{margin:0;color:#64748b;overflow-wrap:anywhere}
@media(max-width:600px){#cabinet-app .stage-workflow-form{grid-template-columns:minmax(0,1fr)}#cabinet-app .stage-workflow-material{padding:12px;border-radius:14px}#cabinet-app .stage-workflow-buttons .btn{padding:8px 10px;font-size:12px;min-height:36px}#cabinet-app .stage-workflow-primary{gap:10px;margin:10px 0 14px}}

#cabinet-app .domain-choice{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0 0 10px}
#cabinet-app .domain-choice legend{font-size:14px;font-weight:600;padding:0;margin-bottom:8px}
#cabinet-app .domain-choice label{display:flex;align-items:center;gap:7px;background:#f5f8fd;border:1px solid #dce5f3;border-radius:12px;padding:9px 13px;cursor:pointer;font-size:13px}
#cabinet-app .domain-choice label:has(:checked){color:#155cab;background:#edf4ff;border-color:#a9c9ee}
#cabinet-app .domain-form-choices,#cabinet-app .domain-help-description,#cabinet-app .domain-access-warning,#cabinet-app .domain-saved-checkbox,#cabinet-app .domain-buy-instruction{grid-column:1/-1}
#cabinet-app .domain-access-warning{display:grid;grid-template-columns:22px 1fr;gap:8px 10px;padding:12px 14px;background:#fff8e9;border:1px solid #efd69a;border-radius:13px;color:#765718;font-size:12px;line-height:1.5}
#cabinet-app .domain-access-warning[hidden]{display:none}
#cabinet-app .domain-access-warning svg{width:21px;height:21px}
#cabinet-app .domain-access-timer{grid-column:2;color:#946b12;font-variant-numeric:tabular-nums}
#cabinet-app .domain-access-warning.expired{background:#fff3ee;color:#8b4631;border-color:#e5b4a0}
#cabinet-app .domain-saved-checkbox{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.5;margin:2px 0}
#cabinet-app .domain-saved-checkbox input{flex:none;accent-color:#1f6feb;margin-top:3px}
#cabinet-app .domain-metadata{display:grid;gap:8px;padding:12px 14px;border:1px solid #dce5f3;border-radius:13px;background:#f7f9fd}
#cabinet-app .domain-metadata p{display:grid;gap:3px;margin:0;overflow-wrap:anywhere;font-size:13px}
#cabinet-app .domain-received-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#cabinet-app .domain-recovery-request{display:grid;gap:10px;border-top:1px solid #dce5f3;margin-top:14px;padding-top:14px}
#cabinet-app .domain-recovery-alternative summary,#cabinet-app .domain-buy-instruction summary{font-size:12px;cursor:pointer;font-weight:600}
#cabinet-app .domain-buy-instruction ol{font-size:12px;line-height:1.6;margin:8px 0;padding-left:22px}
#cabinet-app .domain-registration-form label[hidden],#cabinet-app .domain-registration-form details[hidden]{display:none}
#cabinet-app .domain-choice[hidden],#cabinet-app .domain-registration-form [hidden]{display:none!important}
#cabinet-app .domain-choice label,#cabinet-app .domain-saved-checkbox,#cabinet-app .domain-received-fields label{letter-spacing:normal;text-transform:none}
#cabinet-app .domain-already-saved{display:grid;gap:8px;padding-top:10px}
#cabinet-app #screen-client .project-reference-fold[open] #panel-client-overview{display:block!important}
@media(max-width:600px){#cabinet-app .domain-received-fields{grid-template-columns:1fr}#cabinet-app .domain-access-warning{padding:10px;font-size:12px}#cabinet-app .domain-choice label{padding:8px 10px}}

.warranty-history{border-top:1px solid #dbe5f1;padding-top:12px;margin-top:14px}.warranty-history>summary{font-weight:600;cursor:pointer}.warranty-form{margin-top:10px;gap:8px}#cabinet-app .warranty-form>label{margin:0}#cabinet-app .warranty-form input,#cabinet-app .warranty-form textarea{margin:0}#cabinet-app .warranty-form input[type=file]{height:auto;min-height:44px;padding:6px}.doc-annulled-tag{display:inline-flex;align-items:center;border-radius:20px;background:#eef0f4;color:#68788b;font-size:11px;font-weight:650;padding:4px 8px;white-space:nowrap}.stage-workflow-correction-text{white-space:pre-wrap;overflow-wrap:anywhere}.warranty-form textarea{min-height:75px}@media(max-width:600px){.warranty-form .stage-workflow-field{min-width:0}.warranty-form input,.warranty-form textarea{font-size:16px}.warranty-history .stage-workflow-material{padding:10px}}

#cabinet-app .online-payment-brief{margin:12px 0;padding:14px;border:1px solid #d9e4f2;border-radius:14px;background:#f7faff}
#cabinet-app .online-payment-brief h4,#cabinet-app .online-payment-summary h4{margin:0 0 12px;font-size:15px}
#cabinet-app .online-payment-choice{border:0;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:7px}
#cabinet-app .online-payment-choice legend{font-size:13px;font-weight:650;margin:0 0 7px}
#cabinet-app .online-payment-choice label{margin:0;padding:7px 10px;display:flex;align-items:center;gap:6px;border:1px solid #d4dfed;border-radius:10px;background:#fff;font-size:13px;cursor:pointer}
#cabinet-app .online-payment-choice label:has(input:checked){background:#eaf2ff;border-color:#90b7f1;color:#1457b0}
#cabinet-app .online-payment-choice input{width:14px;min-height:0;height:14px;margin:0;accent-color:#216df4}
#cabinet-app .online-payment-fields>label{display:block;font-size:13px;font-weight:650;margin:0 0 7px}
#cabinet-app .online-payment-fields input:not([type=radio]),#cabinet-app .online-payment-fields textarea,#cabinet-app .online-payment-help select{margin:7px 0 0;min-height:38px;padding:8px 10px;font-size:16px;line-height:1.4;font-family:inherit}
#cabinet-app .online-payment-brief [hidden]{display:none!important}
#cabinet-app .online-payment-fields p{margin:7px 0 12px;font-size:12px;color:#65758b;line-height:1.5}
#cabinet-app .online-payment-help{margin:7px 0 12px}
#cabinet-app .online-payment-help select{display:block;margin:0 0 8px;width:100%}
#cabinet-app .online-payment-status:empty{display:none}
#cabinet-app .online-payment-status{color:#a44223!important}
#cabinet-app .online-payment-privacy{font:inherit;color:#2367c9;border:0;padding:0;background:none;text-decoration:underline;cursor:pointer}
#cabinet-app .online-payment-summary{border-top:1px solid #dce5ef;padding:12px 0;margin:12px 0}
#cabinet-app .online-payment-summary-text{white-space:pre-wrap;font-size:13px;line-height:1.6;margin:0}
#cabinet-app .online-payment-help-review{padding:12px;border-radius:12px;background:#fff;border:1px solid #dce5ef}

#cabinet-app .private-chat-fold{border:1px solid #dbe5ef;border-radius:12px;background:#f6f9fc;margin:8px 0;flex:none;min-width:0;padding:0!important}
#cabinet-app .private-chat-fold>summary{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;font-size:13px;font-weight:650;color:#185891;list-style:none}
#cabinet-app .private-chat-fold>summary:before{content:'';display:block;width:15px;height:15px;flex:none;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M6 10h12v11H6zM8 10V6a4 4 0 0 1 8 0v4M12 14v3'/%3E%3C/svg%3E") center/contain no-repeat}
#cabinet-app .private-chat-body{padding:0 14px 14px;max-height:520px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px}
#cabinet-app .private-chat-body p{margin:0;font-size:12px;line-height:1.5}
#cabinet-app .private-chat-warning{padding:10px;border-radius:9px;background:#fff3d9;color:#785100}
#cabinet-app .private-chat-request{border-top:1px solid #dbe5ef;padding-top:12px;display:flex;flex-direction:column;gap:10px}
#cabinet-app .private-chat-request strong{font-size:13px}
#cabinet-app .private-chat-request label:not(.private-chat-saved){display:flex;flex-direction:column;gap:7px;font-size:12px}
#cabinet-app .private-chat-request textarea{width:100%;box-sizing:border-box;min-height:90px!important;max-height:170px!important;flex:none!important;font-size:13px}
#cabinet-app .private-chat-saved{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:500;line-height:1.4}
#cabinet-app .private-chat-saved input{width:16px!important;height:16px;flex:none!important;min-height:0!important;margin:1px 0 0;padding:0!important}
#cabinet-app .private-chat-receipt{display:flex;flex-direction:column;gap:10px}
#cabinet-app .private-chat-body .btn{white-space:normal;align-self:flex-start;font-size:12px}
#cabinet-app .private-chat-body>details{border-top:1px solid #dbe5ef;padding-top:8px;font-size:12px}
#cabinet-app .private-chat-timer{font-variant-numeric:tabular-nums;color:#785100}
#cabinet-app .private-chat-privacy{border:0;background:none;text-decoration:underline;padding:0;color:#56687c}

.client-calendar-view{padding:0!important;min-width:0;color:#20364f}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px}.calendar-heading h2{font-size:24px;margin:0}.calendar-heading p{font-size:12px;color:#758398;margin:5px 0}.calendar-month-card{border:1px solid #e0e8f1;border-radius:18px;background:#fff;padding:18px;box-shadow:0 5px 20px #20364f05}.calendar-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.calendar-toolbar h3{margin:0;flex:1;text-transform:capitalize;font-size:18px}.calendar-toolbar button{padding:8px;flex:none}.calendar-toolbar svg,.calendar-event-dialog header svg{width:18px;height:18px;display:block}.calendar-client-filter{display:flex;align-items:center;gap:12px;font-size:12px;margin-bottom:14px}.calendar-client-filter select{max-width:420px;min-width:0;flex:1}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{text-align:center;font-size:11px;color:#8090a4;padding:5px}.calendar-day{min-width:0;min-height:66px;border:1px solid #edf1f6;border-radius:9px;padding:5px;background:#fff;position:relative}.calendar-muted{background:#f7f9fc;color:#a6b2c1}.calendar-today{border-color:#6e9bdb}.calendar-selected{background:#eef4ff;border-color:#216df4}.calendar-day-select{border:0;background:none;color:inherit;font:650 12px system-ui;width:28px;height:26px;padding:0;cursor:pointer;border-radius:7px}.calendar-day-select:focus-visible{outline:2px solid #216df4}.calendar-event-chip{display:block;border:0;border-left:3px solid var(--calendar-color);background:color-mix(in srgb,var(--calendar-color) 8%,white);border-radius:4px;color:var(--calendar-color);text-align:left;font:600 10px/1.4 system-ui;width:100%;padding:4px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.calendar-day-dots{display:none}.calendar-event-count{display:block;font-size:9px;color:#74879b;padding:4px}.calendar-agenda{padding:0!important;margin-top:20px}.calendar-agenda-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.calendar-agenda h3{font-size:16px;margin:0}.calendar-event-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:9px}.calendar-event-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;background:white;border:1px solid #e0e8f1;border-left:4px solid var(--calendar-color);border-radius:12px;text-align:left;color:#20364f;min-width:0;cursor:pointer;overflow-wrap:anywhere}.calendar-event-card time{font-size:11px;color:#74839a}.calendar-event-card strong{font-size:14px}.calendar-event-card span{font-size:11px;color:var(--calendar-color)}.calendar-empty{font-size:13px;color:#8793a4}.calendar-legend,.calendar-sync{margin-top:18px;border-top:1px solid #e0e8f1;padding:12px 0!important;color:#57738c;font-size:12px}.calendar-legend summary,.calendar-sync summary{cursor:pointer;font-weight:650;padding:0!important}.calendar-legend>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.calendar-legend span{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid #e0e8f1;border-radius:9px;background:white}.calendar-legend span:before{content:'';width:8px;height:8px;background:var(--calendar-color);border-radius:50%;flex:none}.calendar-sync p{max-width:680px;line-height:1.6}.calendar-sync input{max-width:680px;width:100%;margin:10px 0}.calendar-push-note{font-size:11px;color:#8996a6;margin-top:18px}.calendar-event-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 24px));padding:20px;border:1px solid #d9e3ee;border-radius:18px;background:white;color:#20364f;max-height:calc(100dvh - 24px);overflow:auto}.calendar-event-dialog::backdrop{background:#14283d66}.calendar-event-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.calendar-event-dialog h3{margin:0;font-size:18px}.calendar-event-form{display:grid;gap:13px}.calendar-event-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650}.calendar-event-form input,.calendar-event-form textarea,.calendar-event-form select,.calendar-client-filter select,.calendar-sync input{box-sizing:border-box;min-width:0;width:100%;border:1px solid #dce5f0;border-radius:10px;background:#f7f9fc;color:#20364f;padding:10px 11px;font:16px system-ui}.calendar-time-fields{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:9px}.calendar-form-actions{display:flex;gap:10px;flex-wrap:wrap}.calendar-event-details p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}.calendar-form-status{color:#ab4a31;font-size:12px}.calendar-event-details strong{font-size:17px}
@media(max-width:760px){.calendar-heading{align-items:flex-start;gap:10px;flex-wrap:wrap}.calendar-heading h2{font-size:22px}.calendar-heading .btn{font-size:12px;padding:10px 13px}.calendar-month-card{padding:10px;border-radius:14px}.calendar-toolbar{gap:4px;flex-wrap:wrap}.calendar-toolbar h3{font-size:14px}.calendar-toolbar .btn{font-size:11px;padding:7px}.calendar-client-filter{display:block}.calendar-client-filter select{margin-top:5px;font-size:16px;padding:9px}.calendar-grid{gap:3px}.calendar-day{min-height:48px;padding:2px;border-radius:7px}.calendar-day-select{width:100%;height:27px;font-size:11px}.calendar-event-chip,.calendar-event-count{display:none}.calendar-day-dots{display:flex;gap:3px;justify-content:center;position:absolute;bottom:5px;left:2px;right:2px}.calendar-day-dots i{width:4px;height:4px;border-radius:50%}.calendar-agenda{margin-top:16px}.calendar-event-dialog{padding:15px}.calendar-time-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.calendar-time-fields label:last-child{grid-column:1/-1}.calendar-event-list{grid-template-columns:1fr}.calendar-sync{font-size:12px}.calendar-sync .btn{margin:4px 0}}

.calendar-sync-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.calendar-sync-actions .btn{margin:0}.calendar-sync [data-calendar-feed-result]{min-width:0;max-width:100%;overflow-wrap:anywhere}.calendar-sync input{min-width:0;max-width:100%;box-sizing:border-box}

.calendar-sync summary::after,.calendar-legend summary::after{content:''!important;transform:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23216df4' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");background-size:14px 14px;background-position:center;background-repeat:no-repeat}
.calendar-sync[open] summary::after,.calendar-legend[open] summary::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23216df4' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E")}

#cabinet-app #c-service-modal-root .modal-backdrop{top:var(--request-top,0px)!important;bottom:auto!important;height:var(--request-height,100dvh);padding:16px!important;align-items:center;overflow:hidden;isolation:isolate}
#cabinet-app #c-service-modal-root .service-request-modal{padding:0!important;width:min(760px,100%)!important;max-width:760px!important;height:min(760px,calc(var(--request-height,100dvh) - 32px));max-height:calc(var(--request-height,100dvh) - 32px)!important;display:flex;flex-direction:column;overflow:hidden!important;scroll-padding:0;border-radius:20px}
#cabinet-app #c-service-modal-root .service-request-header{position:static;flex:none;margin:0;padding:16px 20px;border-bottom:1px solid #e3eaf3;align-items:center;gap:12px}
#cabinet-app .service-request-header h3{font-size:21px;line-height:1.3;min-width:0;outline:none}
#cabinet-app .request-close{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #e1e8f1;border-radius:13px;background:#f5f8fc;color:#506580;cursor:pointer}
#cabinet-app .request-close:focus-visible{outline:3px solid #9cbffd;outline-offset:2px}
#cabinet-app .service-request-body{flex:1;min-height:0;overflow:auto;padding:16px 20px;overscroll-behavior:contain;scroll-padding:16px;-webkit-overflow-scrolling:touch}
#cabinet-app .service-request-body>p:empty{display:none}
#cabinet-app .service-request-body .brief-price-layout{display:block;overflow:visible;min-height:0}
#cabinet-app .service-request-body #service-order-form{overflow:visible!important;padding:0;min-height:0}
#cabinet-app .service-request-body .brief-live-price{display:block;padding:12px 16px;margin:0 0 18px;order:0;width:100%}
#cabinet-app .service-request-body .brief-live-price .bargain-note{margin:8px 0 0;font-size:12px}
#cabinet-app .service-request-body .brief-q-row{margin-bottom:16px}
#cabinet-app .service-request-body textarea{min-height:88px;max-height:220px;font-size:16px;box-sizing:border-box}
#cabinet-app .service-request-footer{flex:none;padding:12px 20px;background:#fff;border-top:1px solid #e3eaf3;box-shadow:0 -4px 14px #20365405}
#cabinet-app .service-request-footer .row-actions{margin:0;display:flex;gap:10px;align-items:center;flex-wrap:nowrap}
#cabinet-app .service-request-footer .row-actions .btn{min-height:44px;margin:0}
#cabinet-app .service-request-footer #service-order-submit{flex:1}
#cabinet-app .request-footer-price{margin:0 0 8px;font-size:12px;color:#60748d;line-height:1.4}
#cabinet-app .request-footer-price strong{font-size:16px;color:#123c71;margin-left:4px;white-space:nowrap}
#cabinet-app .service-request-footer #service-order-status:empty{display:none}
#cabinet-app .service-request-footer #service-order-status{margin-top:8px!important;line-height:1.4}
/* A dismissible corner invitation must not reserve a full footer strip. */
#cabinet-app #screen-client .crm-request-footer{position:fixed;z-index:100;inset:auto 18px 14px auto;width:auto;max-width:min(360px,calc(100vw - 24px));margin:0!important;padding:0!important;border:0;background:transparent;box-shadow:none;display:flex;gap:7px;align-items:center}
#cabinet-app #screen-client .crm-request-button{flex:0 1 auto;width:auto;font-size:12px;line-height:1.35;padding:11px 18px;min-height:44px;animation:none;box-shadow:0 5px 18px #3159b126}
#cabinet-app #screen-client .crm-request-close{flex:none;width:36px;min-height:36px;height:36px;border-radius:11px;padding:7px;box-shadow:0 3px 12px #20364f0b}
#cabinet-app #screen-client .crm-request-footer[hidden]{display:none!important}
#cabinet-app #screen-client:has(#c-service-modal-root .modal) .crm-request-footer,#cabinet-app #screen-client:has(#client-project-modal-backdrop) .crm-request-footer,#cabinet-app #screen-client:has(#cview-chats:not(.hidden)) .crm-request-footer{display:none!important}
@media(max-width:760px){
 #cabinet-app #c-service-modal-root .modal-backdrop{padding:6px!important}
 #cabinet-app #c-service-modal-root .service-request-modal{height:calc(var(--request-height,100dvh) - 12px);max-height:calc(var(--request-height,100dvh) - 12px)!important;border-radius:17px}
 #cabinet-app #c-service-modal-root .service-request-header{padding:10px 14px}
 #cabinet-app .service-request-header h3{font-size:19px}
 #cabinet-app .service-request-body{padding:14px;scroll-padding:12px}
 #cabinet-app .service-request-footer{padding:10px 14px max(10px,env(safe-area-inset-bottom,0px))}
 #cabinet-app .service-request-footer .btn{font-size:13px;padding:10px 14px}
 #cabinet-app .service-request-body .service-glass-btn{padding:13px 15px;min-height:64px}
 #cabinet-app #screen-client .crm-request-footer{right:12px;bottom:calc(83px + env(safe-area-inset-bottom,0px));max-width:min(285px,calc(100vw - 24px))}
 #cabinet-app #screen-client .crm-request-button{padding:10px 14px;font-size:11px;width:auto}
}
@media(max-height:520px){#cabinet-app .request-footer-price{display:inline-block;margin:0 0 4px}#cabinet-app #c-service-modal-root .service-request-header{padding-top:5px;padding-bottom:5px}#cabinet-app .service-request-footer{padding-top:6px;padding-bottom:6px}}

/* Mobile cabinet rule: scroll normally, keep the page at its initial scale. */
@media (max-width:760px), (hover:none) and (pointer:coarse) {
  html:has(#cabinet-app:not(.hidden)),
  body:has(#cabinet-app:not(.hidden)),
  #cabinet-app,
  .calendar-event-dialog {
    touch-action:pan-x pan-y;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }
  #cabinet-app :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),textarea,select,[contenteditable="true"]),
  .calendar-event-dialog :is(input,textarea,select) {
    font-size:16px!important;
    box-sizing:border-box!important;
    min-width:0!important;
    min-inline-size:0!important;
    max-width:100%!important;
    max-inline-size:100%!important;
  }
  #cabinet-app :is(form,label,.form-row,.row-actions),
  .calendar-event-form,
  .calendar-event-form label,
  .calendar-time-fields {
    min-width:0;
    min-inline-size:0;
    max-width:100%;
  }
  .calendar-event-dialog .calendar-time-fields {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    align-items:start;
  }
  .calendar-time-fields label:first-child { grid-column:1/-1; }
  .calendar-time-fields label:last-child { grid-column:auto; }
  .calendar-event-form :is(input[type="date"],input[type="time"]) {
    display:block;
    width:100%;
    inline-size:100%;
    min-height:44px;
    -webkit-appearance:none;
    appearance:none;
    overflow:hidden;
  }
  .calendar-event-form input::-webkit-date-and-time-value {
    text-align:left;
    min-height:1.25em;
  }
  .calendar-event-form input::-webkit-datetime-edit { padding:0; }
}

#cabinet-app .project-message-send-state{display:block;margin-top:5px;font-size:11px;opacity:.85}
#cabinet-app#cabinet-app .project-chat-composer{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:8px!important;align-items:end!important;min-width:0;max-width:100%;box-sizing:border-box}
#cabinet-app#cabinet-app .project-chat-composer textarea{grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important;min-height:44px!important;max-height:120px!important;box-sizing:border-box!important;padding:10px 12px!important;margin:0!important;font-size:16px!important;line-height:24px!important;resize:none!important;overflow-y:auto!important;border-radius:16px!important}
#cabinet-app#cabinet-app .project-chat-composer>.msg-attach-btn{grid-column:1!important;grid-row:1!important;width:42px!important;height:44px!important;padding:0!important;margin:0!important;box-sizing:border-box}
#cabinet-app#cabinet-app .project-chat-composer>button[type=submit]{grid-column:3!important;grid-row:1!important;min-height:44px!important;margin:0!important}
#cabinet-app#cabinet-app .project-chat-composer>.msg-pending-file{grid-column:1/-1!important;grid-row:2!important;display:flex;flex-wrap:wrap;align-items:center;gap:5px;max-height:136px;overflow:auto;min-width:0;max-width:100%;margin:0!important}
#cabinet-app#cabinet-app .project-chat-composer>.msg-pending-file:empty{display:none}
#cabinet-app .project-chat-file-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:9px;background:var(--surface-2,#f1f5f9);border:1px solid var(--line,#dce5f0);min-width:0;max-width:100%;font-size:12px}
#cabinet-app .project-chat-file-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
#cabinet-app .project-chat-remove-file{display:grid;place-items:center;border:0!important;border-radius:5px;padding:2px!important;width:24px!important;height:24px!important;min-width:24px;min-height:24px;background:transparent;color:var(--ink-soft,#64748b);flex-shrink:0;cursor:pointer}
#cabinet-app .project-chat-file-count{width:100%;font-size:12px;color:var(--ink-soft,#64748b)}
@media(max-width:760px){
 #cabinet-app#cabinet-app .project-chat-composer{grid-template-columns:38px minmax(0,1fr) 42px!important;gap:6px!important;padding:8px!important}
 #cabinet-app#cabinet-app .project-chat-composer>.msg-attach-btn{width:38px!important}
 #cabinet-app#cabinet-app .project-chat-composer>button[type=submit]{width:42px!important;height:44px!important;min-width:42px!important;padding:0!important;font-size:0!important;line-height:0!important;border-radius:14px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important}
 #cabinet-app#cabinet-app .project-chat-composer textarea{border-radius:14px!important}
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
 html:has(#cabinet-app:not(.hidden)),body:has(#cabinet-app:not(.hidden)){overscroll-behavior-x:none;max-inline-size:100%}
 #cabinet-app{inline-size:100%;max-inline-size:100%;overscroll-behavior-x:none}
 #cabinet-app :is(form,.modal,.project-card,.project-fullscreen){min-inline-size:0;max-inline-size:100%;box-sizing:border-box;overscroll-behavior-x:none}
 #cabinet-app form,.calendar-event-form{touch-action:pan-y;overscroll-behavior-x:none;overflow-x:clip}
 #cabinet-app form :is(label,.form-row,.row-actions,.brief-grid),.calendar-event-form :is(label,.calendar-time-fields){min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
 .calendar-event-dialog{inline-size:calc(100vw - 24px)!important;width:calc(100vw - 24px)!important;max-inline-size:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;min-inline-size:0!important;box-sizing:border-box!important;margin-inline:auto!important;inset-inline:0!important;overflow-x:clip!important;overflow-y:auto!important;overscroll-behavior-x:none;touch-action:pan-y}
 .calendar-event-dialog :is(header,.calendar-event-form,.calendar-event-details){min-inline-size:0;max-inline-size:100%;box-sizing:border-box;overflow-wrap:anywhere}
 .calendar-event-form{inline-size:100%;grid-template-columns:minmax(0,1fr)}
 .calendar-event-form :is(input,textarea,select){inline-size:100%!important;max-inline-size:100%!important;min-inline-size:0!important;box-sizing:border-box!important;font-size:16px!important}
 .calendar-event-form .calendar-time-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .calendar-event-form .calendar-time-fields label:first-child{grid-column:1/-1}.calendar-event-form .calendar-time-fields label:last-child{grid-column:auto}
}

#cabinet-app .chat-document-source{font-size:11px;color:var(--ink-soft,#64748b);white-space:normal}
#cabinet-app .project-review-prompt{margin-top:14px;padding:12px 0;border-top:1px solid var(--line,#dce5ef);font-size:13px}
#cabinet-app .project-review-prompt p{margin:0 0 8px;color:var(--ink-soft,#64748b)}
#cabinet-app .project-review-prompt .btn{max-width:100%;white-space:normal;box-sizing:border-box}

/* Both roles use the same compact menu; footer actions stay reachable. */
@media(min-width:761px){
 #cabinet-app#cabinet-app .client-nav{
  top:calc(var(--workspace-header-height,76px) + 12px)!important;
  bottom:12px!important;height:calc(100dvh - var(--workspace-header-height,76px) - 24px)!important;
  max-height:none!important;min-height:0!important;box-sizing:border-box!important;
  display:flex!important;flex-direction:column;gap:8px!important;
  padding:10px!important;overflow:hidden!important;
 }
 #cabinet-app#cabinet-app .cabinet-menu-list{
  display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-height:0;min-width:0;
  overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;
 }
 #cabinet-app#cabinet-app .cabinet-menu-footer{
  display:flex;flex-direction:column;gap:4px;flex:0 0 auto;min-width:0;
  padding-top:6px;border-top:1px solid rgba(255,255,255,.13);
 }
 #cabinet-app#cabinet-app .client-nav .client-nav-item{
  flex:0 0 auto;min-height:31px;padding:6px 9px!important;margin:0!important;
  font-size:13px!important;line-height:1.25!important;gap:8px;
  white-space:normal;overflow-wrap:anywhere;
 }
 #cabinet-app#cabinet-app .client-nav .nav-ico{width:19px;flex:0 0 19px;font-size:18px;}
 #cabinet-app#cabinet-app .client-nav .nav-ico svg{width:18px;height:18px;}
 #cabinet-app#cabinet-app .sidebar-profile{flex:0 0 auto;gap:9px;padding:0 2px 9px;margin:0 0 5px;}
 #cabinet-app#cabinet-app .sidebar-profile-name{font-size:13px;line-height:1.25;}
 #cabinet-app#cabinet-app .sidebar-profile-email{font-size:10.5px;line-height:1.25;}
 #cabinet-app#cabinet-app .sidebar-profile .avatar-circle{width:36px;height:36px;font-size:13px;flex:0 0 36px;}
 #cabinet-app#cabinet-app .sidebar-cta{margin:0!important;padding:7px!important;}
 #cabinet-app#cabinet-app .sidebar-cta-title{font-size:12px;line-height:1.3;margin:0 0 5px;}
 #cabinet-app#cabinet-app .sidebar-cta .btn{min-height:30px;padding:6px 8px;font-size:12px;line-height:1.25;}
 @media(max-height:720px){
  #cabinet-app#cabinet-app .client-nav{gap:5px!important;padding:8px!important;}
  #cabinet-app#cabinet-app .cabinet-menu-list{gap:1px;}
  #cabinet-app#cabinet-app .client-nav .client-nav-item{font-size:12px!important;min-height:25px;padding:3px 8px!important;}
  #cabinet-app#cabinet-app .client-nav .nav-ico{height:16px;line-height:16px;font-size:16px;}
  #cabinet-app#cabinet-app .client-nav .nav-ico svg{width:16px;height:16px;}
  #cabinet-app#cabinet-app .sidebar-profile{padding-bottom:4px;margin-bottom:0;}
 }
}

#cabinet-app .messenger-pane{overflow:hidden;min-height:0}
#cabinet-app .messenger-header{flex:0 0 auto;min-width:0;position:relative;z-index:2;background:#eef5f1}
#cabinet-app .messenger-notes{flex:1 1 0;min-height:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}
#cabinet-app .project-note-entry{min-width:0;overflow-wrap:anywhere}
#cabinet-app .messenger-conversation{min-height:0;overflow:hidden}
#cabinet-app .messenger-conversation .msg-form{flex-shrink:0}
#cabinet-app .reply-preview{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-width:0;max-height:72px;box-sizing:border-box;overflow:hidden}
#cabinet-app .reply-preview.hidden{display:none!important}
#cabinet-app .reply-preview>span{min-width:0;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px}
#cabinet-app .reply-preview>button{width:32px;height:32px;min-width:32px;padding:6px;display:grid;place-items:center;flex-shrink:0}
#cabinet-app .reply-preview>button svg{display:block;width:18px;height:18px}
#cabinet-app .bubble{position:relative}
#cabinet-app .chat-message-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:6px}
#cabinet-app .chat-message-actions[hidden]{display:none!important}
#cabinet-app .chat-message-actions button{font-size:11px;padding:4px 8px;min-height:28px;border-radius:9px}
#cabinet-app .chat-message-actions svg{width:14px;height:14px}
#cabinet-app .chat-message-menu{border:0;background:transparent;color:inherit;padding:3px;width:26px;height:26px;cursor:pointer;float:right;margin-left:6px}
#cabinet-app .chat-message-menu svg{width:18px;height:18px}
#cabinet-app .chat-message-deleted{font-style:italic;opacity:.8}
#cabinet-app .chat-photo-preview{position:relative;display:block;box-sizing:border-box;width:min(340px,100%);max-width:100%;height:190px;padding:0;margin:8px 0;border:0;border-radius:12px;overflow:hidden;background:#e6edf3;cursor:pointer;color:#40546b}
#cabinet-app .chat-photo-preview img{display:block;width:100%;height:100%;object-fit:contain}
#cabinet-app .bubble:has(.chat-photo-preview){width:min(360px,90%);max-width:90%;box-sizing:border-box}
#cabinet-app .chat-photo-status{position:absolute;inset:0;display:grid;place-items:center;padding:12px;font-size:12px;line-height:1.5;background:#edf2f8}
#cabinet-app .chat-photo-status[hidden]{display:none}
#cabinet-app .chat-delete-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-width:calc(100vw - 24px);border:1px solid #dbe5ef;border-radius:18px;padding:20px;max-height:calc(100dvh - 24px);overflow:auto;color:#183149}
#cabinet-app .chat-delete-dialog::backdrop{background:#17304666}
#cabinet-app .chat-delete-dialog .row-actions{gap:8px;flex-wrap:wrap}
@media(max-width:760px){
 #cabinet-app .topbar{box-sizing:border-box!important;min-height:56px!important;padding:8px calc(12px + env(safe-area-inset-right,0px)) 8px calc(12px + env(safe-area-inset-left,0px))!important;padding-top:calc(8px + env(safe-area-inset-top,0px))!important;gap:8px!important}
 #cabinet-app .topbar .brand{min-width:0;font-size:14px!important;line-height:1.3!important}
 #cabinet-app .topbar .cabinet-notification-holder{width:34px;height:34px;flex:0 0 34px}
 #cabinet-app .topbar .cabinet-notification-holder>button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:6px!important}
 #cabinet-app .topbar .cabinet-notification-holder>button svg{width:20px!important;height:20px!important}
 #cabinet-app .mobile-cabinet-nav{box-sizing:border-box;min-height:0!important;padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px))!important;gap:2px!important}
 #cabinet-app .mobile-cabinet-nav button{min-height:48px!important;height:48px!important;padding:4px 2px!important;gap:3px!important;font-size:10px!important;line-height:1.2!important;min-width:0}
 #cabinet-app .mobile-cabinet-nav .nav-ico,#cabinet-app .mobile-cabinet-nav .nav-ico svg{width:20px!important;height:20px!important;line-height:20px!important;font-size:20px!important}
 #cabinet-app .chat-photo-preview{width:100%;height:135px}
 #cabinet-app #aview-chats:not(.hidden),#cabinet-app #cview-chats:not(.hidden){position:fixed!important;left:10px!important;right:10px!important;top:var(--stable-chat-top,76px)!important;height:var(--stable-chat-height,calc(100dvh - 172px))!important;min-height:0!important;padding:0!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;z-index:20}
 #cabinet-app #aview-chats>.messenger-layout,#cabinet-app #cview-chats>.messenger-layout{height:100%!important;flex:1 1 0!important;min-height:0!important;width:100%;box-sizing:border-box;max-height:100%!important;margin:0}
 #cabinet-app #cview-chats:has(.conversation-open)>.client-contact-entry{display:none}
 #cabinet-app .messenger-pane{padding:10px!important}
 #cabinet-app .messenger-header{padding-bottom:8px;margin-bottom:8px;gap:6px}
 #cabinet-app .messenger-header>div{font-size:13px;line-height:1.3}
 #cabinet-app .messenger-header>div .small{font-size:11px}
 #cabinet-app .messenger-header>.btn{min-height:32px;padding:5px 6px;font-size:11px}
 #cabinet-app .messenger-notes{padding:10px}
 #cabinet-app .messenger-conversation .support-telemost{flex:0 0 auto;margin:0 0 6px;font-size:12px;max-height:95px;overflow:auto}
 #cabinet-app .support-conversation .msg-form{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;gap:6px!important}
 #cabinet-app .support-conversation .msg-form textarea{width:100%!important;min-height:44px!important;font-size:16px!important;grid-column:1!important;grid-row:1!important}
 #cabinet-app .support-conversation .msg-form button[type=submit]{grid-column:2!important;grid-row:1!important;min-width:44px!important;max-width:44px;font-size:0!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='20' height='20' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z M22 2 11 13'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
 #cabinet-app .support-send-status{grid-column:1/-1}
}

#cabinet-app .mobile-cabinet-sheet::before{display:none!important}
#cabinet-app .mobile-cabinet-sheet{transform:translateY(var(--sheet-drag-y,0px));transition:transform .15s ease}
#cabinet-app .mobile-cabinet-sheet.sheet-dragging{transition:none}
#cabinet-app .mobile-sheet-close-handle{display:flex;align-items:center;justify-content:center;width:100%;height:28px;flex:0 0 28px;border:0;background:transparent;padding:0;cursor:pointer;touch-action:none;user-select:none;margin:-6px 0 4px;box-sizing:border-box}
#cabinet-app .mobile-sheet-close-handle span{display:block;width:42px;height:4px;border-radius:4px;background:#c9d4e2;pointer-events:none}
#cabinet-app .mobile-sheet-close-handle:focus-visible{outline:2px solid #216df4;outline-offset:2px;border-radius:8px}
@media(prefers-reduced-motion:reduce){#cabinet-app .mobile-cabinet-sheet{transition:none}}

/* Report controls stay visible; only the report text scrolls. */
#security-report-dialog[open]{display:flex!important;flex-direction:column;box-sizing:border-box!important;width:min(900px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;height:min(760px,calc(var(--security-report-vh,100dvh) - 24px));max-height:calc(var(--security-report-vh,100dvh) - 24px)!important;margin:12px auto!important;padding:0!important;overflow:hidden!important;min-width:0}
#security-report-dialog:not([open]){display:none!important}
#security-report-dialog>header,#security-report-dialog>footer{position:relative!important;flex:0 0 auto;min-width:0;box-sizing:border-box;padding:12px 16px!important;background:#fff;z-index:1}
#security-report-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #dbe4ef}
#security-report-dialog>header>strong{min-width:0;overflow-wrap:anywhere;font-size:16px;line-height:1.4}
#security-report-dialog>main{flex:1 1 auto;min-height:0;min-width:0;padding:16px!important;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;overflow-wrap:anywhere;-webkit-overflow-scrolling:touch}
#security-report-dialog>footer{border-top:1px solid #dbe4ef;background:#f5f8fc}
.security-report-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
#security-report-dialog [data-security-close],.security-report-controls a,.security-report-controls button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:42px;max-width:100%;padding:9px 14px;border-radius:12px;border:1px solid #dbe4ef;font:600 14px/1.4 Arial,sans-serif;text-decoration:none;white-space:normal;background:white;color:#20374a;cursor:pointer}
#security-report-dialog [data-security-close]{flex:0 0 auto}
.security-report-controls [data-security-download]{background:#216df4;color:white;border-color:#216df4}
.security-report-controls [hidden]{display:none!important}
.security-report-download-note{margin:6px 0 0;font:12px/1.45 Arial,sans-serif;color:#536374;overflow-wrap:anywhere}
.security-report-page{overflow-wrap:anywhere;min-width:0}
.security-report-page>main{padding:0 14px 20px;box-sizing:border-box;min-width:0}
.security-report-page .security-report-page-nav{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;background:#f2f5f9;border-bottom:1px solid #dbe4ef}
.security-report-page .security-report-page-nav>a{padding:9px 14px;background:#fff;border:1px solid #dbe4ef;border-radius:12px;text-decoration:none;color:#20374a;font-weight:600;line-height:1.4}
.security-report-page .security-report-controls{padding:12px 0}
.security-report-page section{box-sizing:border-box;max-width:100%}
@media(max-width:760px){#security-report-dialog>header,#security-report-dialog>footer{padding:10px 12px!important}#security-report-dialog>main{padding:14px!important}#security-report-dialog h1{font-size:23px!important}#security-report-dialog h2{font-size:19px!important}#security-report-dialog p{line-height:1.6!important}.security-report-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.security-report-controls [data-security-share]{grid-column:1/-1}.security-report-download-note{font-size:11px;line-height:1.4}.security-report-page .security-report-controls{display:flex}}

/* Stage sections must not inherit landing-page section spacing. */
#cabinet-app .client-stage-actions{padding:0!important;gap:12px;margin:0 0 16px;min-width:0}
#cabinet-app .client-stage-actions>.p-client-spec>label:first-child{margin-top:0}
#cabinet-app .spec-attachments h4{margin:0 0 10px}
#cabinet-app .client-stage-actions>.project-examples{margin:0}
#cabinet-app .client-stage-actions>.site-platform-choice{margin:0}
#cabinet-app .client-stage-actions>.row-actions{margin:4px 0 0}
/* ID-level legacy rules previously turned these flex panels into blocks. */
#cabinet-app#cabinet-app .project-help-chat>details[open]>#panel-client-chat,
#cabinet-app#cabinet-app .project-help-chat>details[open]>#panel-admin-chat,
#cabinet-app#cabinet-app .project-help-chat>.project-chat-mobile-panel{
 display:flex!important;flex-direction:column;flex:1 1 0;min-height:0;min-width:0;
 height:auto!important;max-height:none!important;padding:0!important;overflow:hidden!important
}
#cabinet-app#cabinet-app .project-help-chat #chat-modal-backdrop,
#cabinet-app#cabinet-app .project-help-chat .chat-modal-wide,
#cabinet-app#cabinet-app .project-help-chat .chat-modal-layout,
#cabinet-app#cabinet-app .project-help-chat .chat-modal-main{
 position:static!important;inset:auto!important;display:flex!important;flex-direction:column;
 flex:1 1 0;min-height:0;min-width:0;height:auto!important;max-height:none!important;
 padding:0!important;overflow:hidden!important;background:none!important;border:0!important
}
#cabinet-app#cabinet-app .project-help-chat .thread{
 flex:1 1 0!important;min-height:0!important;height:auto!important;max-height:none!important;
 overflow-y:auto!important;overflow-x:hidden;scroll-behavior:auto;overflow-anchor:none
}
#cabinet-app .project-help-chat .thread>.bubble{flex-shrink:0}
#cabinet-app .project-help-chat .msg-form{flex:0 0 auto!important;margin-top:8px}
#cabinet-app .project-help-chat .telemost-widget{flex:0 0 auto;min-height:0}
@media(min-width:761px){
 #cabinet-app#cabinet-app .cabinet-menu-list{justify-content:space-between;gap:4px}
 #cabinet-app .project-help-chat:has(>details:not([open])){height:auto!important}
}
@media(max-width:760px){
 #cabinet-app#cabinet-app .project-help-chat{top:var(--stable-chat-top,64px)!important;bottom:auto!important;height:var(--stable-chat-height,calc(100dvh - 136px))!important}
}

#cabinet-app{--space-label:8px;--space-action:12px;--space-card:16px;--space-section:24px}
#cabinet-app .domain-registration-form,#cabinet-app .domain-received-card{box-sizing:border-box;min-width:0;width:100%;max-width:100%;padding:16px;margin:0;border:1px solid #dce5f3;border-radius:16px;background:#fff;gap:16px}
#cabinet-app .domain-received-card{background:#edf4ff;display:grid}
#cabinet-app .domain-received-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
#cabinet-app .domain-received-values label:has(textarea){grid-column:1/-1}
#cabinet-app .domain-received-values input,#cabinet-app .domain-received-values textarea{font-size:16px!important;background:#fff;overflow-wrap:anywhere;width:100%;min-width:0;box-sizing:border-box}
#cabinet-app .domain-registration-form .stage-workflow-field,#cabinet-app .domain-received-card .stage-workflow-field{gap:8px;min-width:0;text-transform:none;letter-spacing:normal;font-size:14px}
#cabinet-app .domain-registration-form .domain-send-actions,#cabinet-app .domain-registration-form .domain-save-state{grid-column:1/-1}
#cabinet-app .domain-send-actions,#cabinet-app .domain-credential-actions{gap:12px;align-items:center}
#cabinet-app .domain-save-state,#cabinet-app .domain-help-description{margin:0;line-height:1.5;overflow-wrap:anywhere}
#cabinet-app .domain-choice{gap:12px;margin:0 0 16px;min-width:0}
#cabinet-app .domain-choice label{display:flex;align-items:center;flex:1 1 160px;gap:10px;padding:12px;min-width:0;font-size:14px;line-height:1.4;text-align:left}
#cabinet-app .domain-choice input[type=radio]{appearance:auto!important;width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;margin:0!important;flex:0 0 18px;outline:0;box-shadow:none}
#cabinet-app .domain-choice span{min-width:0;white-space:normal}
#cabinet-app .domain-registration-form .stage-workflow-field input,#cabinet-app .domain-registration-form textarea{font-size:16px!important;max-width:100%;min-width:0;box-sizing:border-box}
#cabinet-app .stage-workflow-primary>strong{display:block;padding:12px 16px;background:#edf4ff;border:1px solid #dce5f3;border-radius:14px;line-height:1.5;font-size:15px;overflow-wrap:anywhere;min-width:0;max-width:100%;box-sizing:border-box}
#cabinet-app .project-information-fold{margin:12px 0 0;min-width:0}
#cabinet-app .project-information-fold>summary{padding:12px 16px;line-height:1.5;background:#f5f8fd;border:1px solid #dce5f3;border-radius:14px;font-weight:600;cursor:pointer}
#cabinet-app .project-information-fold[open]>#panel-admin-overview,#cabinet-app .project-information-fold[open]>#panel-client-overview{display:block!important}
#cabinet-app .project-information-fold .client-project-information>summary{display:none}
#cabinet-app .project-information-fold>.project-faq-group{padding:16px 0;margin:16px 0}
#cabinet-app .project-information-fold>.danger-zone{margin:16px 0;padding:16px 0}
#cabinet-app .project-information-fold>section{padding:16px 0}
#cabinet-app .project-quick-tiles{margin-bottom:16px;min-width:0}
#cabinet-app .online-project-payment{display:grid;gap:12px}
#cabinet-app .online-project-payment>select{margin:0}
#cabinet-app .online-project-payment>button{justify-self:start;margin:0}
#cabinet-app .cabinet-guide-launcher{border-radius:999px!important;padding:6px 10px!important;font-size:12px!important;line-height:1.4!important;min-height:32px!important;border:1px solid #dce5f3!important;box-shadow:none!important}
#cabinet-app .cabinet-guide-launcher svg{width:16px!important;height:16px!important}
@media(max-width:760px){#cabinet-app .domain-received-values{grid-template-columns:minmax(0,1fr)}#cabinet-app .domain-credential-actions .btn,#cabinet-app .domain-send-actions .btn{min-height:40px;max-width:100%;white-space:normal;line-height:1.4}#cabinet-app .domain-registration-form,#cabinet-app .domain-received-card{padding:16px}#cabinet-app .project-information-fold .btn{max-width:100%;white-space:normal}}

/* During keyboard entry the recipient header stays visible inside the chat. */
@media(max-width:760px){
 #cabinet-app#cabinet-app .project-help-chat.mobile-chat-open{left:8px!important;right:8px!important;width:auto!important;max-width:none!important;transform:none!important;transition:none!important}
 #cabinet-app.chat-keyboard-open .topbar,#cabinet-app.chat-keyboard-open .mobile-cabinet-nav{display:none!important}
 #cabinet-app.chat-keyboard-open #aview-chats:not(.hidden),#cabinet-app.chat-keyboard-open #cview-chats:not(.hidden){left:4px!important;right:4px!important;border-radius:12px}
 #cabinet-app.chat-keyboard-open .messenger-pane{padding:8px!important}
 #cabinet-app.chat-keyboard-open .support-telemost{display:none!important}
 #cabinet-app.chat-keyboard-open .cabinet-working-hours{display:none!important}
 #cabinet-app.chat-keyboard-open .project-help-chat{padding:8px!important;border-radius:12px}
 #cabinet-app.chat-keyboard-open .messenger-layout,#cabinet-app.chat-keyboard-open .messenger-thread,#cabinet-app.chat-keyboard-open .messenger-notes-scroll{overscroll-behavior:contain}
 #cabinet-app.chat-keyboard-open .msg-form textarea{font-size:16px!important;resize:none}
}

@media(max-width:760px){#cabinet-app.chat-keyboard-open :is(#aview-chats,#cview-chats,.project-help-chat){top:calc(var(--stable-chat-top) + env(safe-area-inset-top,0px))!important;height:calc(var(--stable-chat-height) - env(safe-area-inset-top,0px))!important}}
@media(max-width:760px){
 #cabinet-app#cabinet-app.chat-keyboard-open .cabinet-keyboard-pane{position:fixed!important;top:calc(var(--stable-chat-top) + env(safe-area-inset-top,0px))!important;left:4px!important;right:4px!important;bottom:auto!important;width:auto!important;height:calc(var(--stable-chat-height) - env(safe-area-inset-top,0px))!important;min-height:0!important;max-height:var(--stable-chat-height)!important;margin:0!important;box-sizing:border-box;overflow-y:auto!important;overscroll-behavior:contain;padding:8px!important}
 #cabinet-app.chat-keyboard-open .cabinet-keyboard-pane :is(.chat-modal-layout,.chat-modal-main){display:flex!important;flex-direction:column;flex:1;min-height:0;max-height:100%;gap:8px}
 #cabinet-app.chat-keyboard-open .cabinet-keyboard-pane .thread{flex:1;min-height:0;max-height:none!important;overflow-y:auto;overscroll-behavior:contain}
 #cabinet-app.chat-keyboard-open .cabinet-keyboard-pane .msg-form{flex:none}
 #cabinet-app.chat-keyboard-open :is(.messenger-notes,.chat-modal-notes){min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding:12px}
 #cabinet-app.chat-keyboard-open :is(.mobile-cabinet-sheet,.mobile-cabinet-sheet-backdrop,.cabinet-scroll-hint){display:none!important}
}

#cabinet-app .stage-workflow-form>label,#cabinet-app .domain-received-values>label,#cabinet-app .domain-registration-form>label{margin:0!important}
#cabinet-app .stage-workflow-field input,#cabinet-app .stage-workflow-field textarea{margin:0!important}
#cabinet-app input[type=checkbox],#cabinet-app input[type=radio]{width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;margin:0!important;flex:0 0 18px;box-shadow:none!important}
#cabinet-app .online-payment-panel{display:grid;gap:12px;padding:16px;box-sizing:border-box;min-width:0}
#cabinet-app .online-payment-panel>h4,#cabinet-app .online-payment-panel>p,#cabinet-app .online-payment-panel>select,#cabinet-app .online-payment-panel>button{margin:0!important}
#cabinet-app .online-payment-panel>button{justify-self:start}
#cabinet-app .row-actions,#cabinet-app .stage-workflow-buttons,#cabinet-app .payment-review-actions{gap:12px}
#cabinet-app .site-platform-choice .row-actions{margin-top:12px}
#cabinet-app .site-platform-choice .site-platform-vds[aria-pressed=false]{outline:none!important;box-shadow:none!important;background:#fff!important}
#cabinet-app .site-platform-choice [role=status]{margin:12px 0 0}
#cabinet-app .cabinet-guide-launch#c-training-launcher{padding:6px 10px!important;min-height:32px!important;border-radius:999px!important;border:1px solid #dce5f3!important;background:#fff!important;font-size:12px!important;line-height:1.4!important;box-shadow:none!important;margin:0 0 12px!important}
#cabinet-app .cabinet-guide-launch#c-training-launcher:focus-visible{outline:2px solid #438ef0!important;outline-offset:2px}
#cabinet-app .cabinet-guide-launch svg{width:16px;height:16px}
#cabinet-app .project-summary-kv{display:grid;grid-template-columns:minmax(110px,.6fr) minmax(0,1fr);gap:0;margin:0}
#cabinet-app .project-summary-kv dt,#cabinet-app .project-summary-kv dd{margin:0;padding:10px 12px;line-height:1.5;border-bottom:1px solid #dce5f3;overflow-wrap:anywhere;min-width:0;font-size:14px}
#cabinet-app .project-summary-kv dt{color:#63758b;background:#f5f8fd}
#cabinet-app .doc-row-aligned{display:grid!important;grid-template-columns:minmax(0,1fr);gap:12px!important;align-items:start!important;min-width:0}
#cabinet-app .doc-row-data{display:contents}
#cabinet-app .doc-row-name{min-width:0;overflow-wrap:anywhere;line-height:1.5}
#cabinet-app .doc-row-name>svg{width:18px;height:20px;vertical-align:middle;margin-right:4px}
#cabinet-app .doc-row-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;min-width:0}
#cabinet-app .doc-row-tags>span{margin:0!important;white-space:nowrap;line-height:1.5}
#cabinet-app .doc-row-actions{display:flex!important;flex-wrap:wrap;gap:12px!important;min-width:0;align-items:center!important}
#cabinet-app .client-stage-actions,#cabinet-app .admin-stage-actions,#cabinet-app #panel-admin-documents,#cabinet-app #panel-client-documents{container-type:inline-size}
@container(min-width:700px){#cabinet-app .doc-row-aligned{grid-template-columns:minmax(180px,1fr) minmax(120px,.5fr) minmax(220px,.8fr)}#cabinet-app .doc-row-actions{justify-content:flex-start}}
#cabinet-app .document-feedback-view{display:flex;flex-direction:column;overflow:hidden;z-index:5000}
#cabinet-app .document-feedback-view>.viewer-bar{position:relative;flex:none;display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px}
#cabinet-app .document-feedback-view>.viewer-bar>strong{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}
#cabinet-app .document-feedback-view .document-feedback-body{flex:1 1 0;min-height:0;overflow:auto;padding:16px}
#cabinet-app .document-feedback-body>section{padding:16px;margin:0 0 16px;border:1px solid #dce5f3;border-radius:14px;background:#fff;min-width:0}
#cabinet-app .document-feedback-body p{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;line-height:1.5}
#cabinet-app .feedback-attachment{display:grid;gap:12px;margin-top:16px;min-width:0}
#cabinet-app .cabinet-install-guide>summary{display:flex;gap:12px;align-items:center;justify-content:space-between;min-width:0;padding-right:8px}
#cabinet-app .cabinet-install-guide>summary::after{display:none!important}
#cabinet-app .cabinet-install-close{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:0;border-radius:50%;padding:6px;background:#eef4fc;color:#55718f;cursor:pointer}
#cabinet-app .cabinet-install-guide[hidden]{display:none!important}
@media(max-width:760px){#cabinet-app #screen-client #c-content.client-layout{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}#cabinet-app #screen-client>.wrap{scroll-padding-bottom:80px}}
@media(max-width:760px){#cabinet-app.chat-keyboard-open .topbar,#cabinet-app.chat-keyboard-open .mobile-cabinet-nav{display:none!important}#cabinet-app.chat-keyboard-open #aview-chats,#cabinet-app.chat-keyboard-open #cview-chats{left:4px!important;right:4px!important}#cabinet-app.chat-keyboard-open .messenger-pane{padding:8px!important}#cabinet-app.chat-keyboard-open .support-telemost{display:none!important}#cabinet-app.chat-keyboard-open .project-help-chat{padding:8px!important;border-radius:12px}#cabinet-app .doc-row-actions .btn{max-width:100%;white-space:normal;line-height:1.4}#cabinet-app .doc-row-tags>span{font-size:10px}#cabinet-app .document-feedback-view .btn{max-width:100%;white-space:normal}}

#cabinet-app{--window-gap:12px}
#cabinet-app .topbar,#cabinet-app .mobile-cabinet-nav{z-index:6000!important}
#cabinet-app #cabinet-toast-root{top:auto!important;bottom:calc(var(--cabinet-window-bottom,0px) + 12px)!important;max-height:calc(var(--cabinet-window-height,80dvh) - 24px)!important;overflow-y:auto;box-sizing:border-box}
#cabinet-app #a-chat-minimized-stack{bottom:calc(var(--cabinet-window-bottom,0px) + 12px)!important;max-height:calc(var(--cabinet-window-height,80dvh) - 24px)!important;overflow-y:auto;box-sizing:border-box}
#cabinet-app .cabinet-window-layer{top:var(--cabinet-window-top,72px)!important;bottom:var(--cabinet-window-bottom,0px)!important;left:var(--cabinet-window-left,0px)!important;right:0!important;height:auto!important;padding:var(--window-gap)!important;box-sizing:border-box;align-items:center;overflow:hidden}
#cabinet-app .cabinet-window-layer>.modal{box-sizing:border-box;width:100%!important;max-height:100%!important;height:auto!important;min-height:0;margin:0!important;overflow-y:auto;overscroll-behavior:contain;scroll-padding-top:72px}
#cabinet-app .cabinet-window-layer>.modal.cabinet-window-framed{display:flex;flex-direction:column;padding:0!important;overflow:hidden}
#cabinet-app .cabinet-window-header{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;background:#fff;border-bottom:1px solid #dce5ef;padding:12px 16px;box-sizing:border-box;min-width:0}
#cabinet-app .cabinet-window-header h3,#cabinet-app .cabinet-window-header h2,#cabinet-app .cabinet-window-header strong{margin:0!important;min-width:0;font-size:16px;line-height:1.4;overflow-wrap:anywhere;flex:1}
#cabinet-app .cabinet-window-header>.btn{position:static!important;float:none!important;flex:none;margin:0!important;width:auto!important;max-width:45%;font-size:13px;white-space:normal;line-height:1.4}
#cabinet-app .cabinet-window-body{flex:1;min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:16px;scroll-padding:16px}
#cabinet-app .project-page-content>.cabinet-window-header{margin:-1px -1px 16px;padding:12px 16px;border-radius:14px 14px 0 0}
#cabinet-app .viewer-backdrop{top:var(--cabinet-window-top,72px)!important;bottom:var(--cabinet-window-bottom,0px)!important;left:var(--cabinet-window-left,0px)!important;right:0!important;height:auto!important;min-height:0;overflow:hidden}
#cabinet-app .viewer-bar{flex:none;min-width:0;flex-wrap:wrap;gap:12px;padding:12px 16px;box-sizing:border-box}
#cabinet-app .viewer-bar>strong{min-width:0;overflow-wrap:anywhere;line-height:1.4;flex:1 1 160px}
#cabinet-app .viewer-frame-wrap{flex:1;min-height:0;overflow:auto}
#cabinet-app .cabinet-notification-panel{top:calc(var(--cabinet-window-top,72px) + 8px)!important;max-height:calc(var(--cabinet-window-height,70dvh) - 16px)!important;overflow:auto;box-sizing:border-box}
#cabinet-app:has(.cabinet-window-layer) .cabinet-scroll-hint,#cabinet-app:has(.viewer-backdrop) .cabinet-scroll-hint{display:none!important}
html.cabinet-is-open dialog.cabinet-bounded-dialog{position:fixed!important;inset:var(--cabinet-window-top,72px) 12px var(--cabinet-window-bottom,0px) max(12px,var(--cabinet-window-left,0px))!important;margin:auto!important;max-height:calc(var(--cabinet-window-height,80dvh) - 24px)!important;width:calc(100% - var(--cabinet-window-left,0px) - 24px)!important;max-width:min(900px,calc(100% - var(--cabinet-window-left,0px) - 24px))!important;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain}
html.cabinet-is-open dialog.cabinet-bounded-dialog::backdrop{background:transparent}
html.cabinet-is-open dialog.cabinet-bounded-dialog>.modal-head,html.cabinet-is-open dialog.cabinet-bounded-dialog>header{position:sticky;top:0;z-index:2;background:#fff;min-width:0}
@media(max-width:760px){
 #cabinet-app{--window-gap:8px}
 #cabinet-app #screen-client>.wrap,#cabinet-app #screen-admin>.wrap{height:var(--cabinet-window-height,calc(100dvh - 136px))!important;max-height:var(--cabinet-window-height,calc(100dvh - 136px))!important;flex:none!important;box-sizing:border-box;scroll-padding:16px 0 24px}
 #cabinet-app .modal.project-fullscreen{border-radius:16px!important}
 #cabinet-app .cabinet-window-body{padding:16px}
 #cabinet-app .cabinet-window-body input,#cabinet-app .cabinet-window-body textarea,#cabinet-app .cabinet-window-body select{font-size:16px!important;max-width:100%;box-sizing:border-box;min-width:0}
 #cabinet-app .cabinet-window-header{padding:12px}
 #cabinet-app .mobile-cabinet-sheet-backdrop{top:var(--cabinet-window-top,56px)!important;bottom:var(--cabinet-window-bottom,64px)!important;height:auto!important}
 #cabinet-app .mobile-cabinet-sheet{top:auto!important;bottom:calc(var(--cabinet-window-bottom,64px) + 8px)!important;height:calc(var(--cabinet-window-height,70dvh) - 16px)!important;max-height:calc(var(--cabinet-window-height,70dvh) - 16px)!important;display:flex!important;flex-direction:column;box-sizing:border-box;padding:12px 16px!important;gap:8px;overflow:hidden}
 #cabinet-app .mobile-cabinet-sheet.hidden,#cabinet-app .mobile-cabinet-sheet[hidden],#cabinet-app .mobile-cabinet-sheet[aria-hidden=true]{display:none!important}
 #cabinet-app .mobile-cabinet-sheet-head,#cabinet-app .mobile-cabinet-sheet-actions,#cabinet-app .mobile-sheet-close-handle{flex:none}
 #cabinet-app .mobile-cabinet-sheet-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0!important}
 #cabinet-app .mobile-cabinet-sheet-actions{margin:0!important}
 #cabinet-app.chat-keyboard-open .mobile-project-chat,#cabinet-app.chat-keyboard-open .messenger-conversation{max-height:100%}
}

#cabinet-app .client-record-card{max-width:760px!important}
#cabinet-app .client-record-content{display:grid;gap:16px;min-width:0}
#cabinet-app .client-record-content>p,#cabinet-app .client-record-content>h4,#cabinet-app .client-record-content>label,#cabinet-app .client-record-content>textarea{margin:0!important;min-width:0}
#cabinet-app .client-record-content>label{margin-bottom:-8px!important;line-height:1.5}
#cabinet-app .client-record-content>button{justify-self:start;max-width:100%;white-space:normal;line-height:1.5}
#cabinet-app .client-record-values{grid-template-columns:minmax(100px,.55fr) minmax(0,1fr)}
#cabinet-app .client-record-values dd{word-break:normal;overflow-wrap:anywhere}
#cabinet-app .client-record-projects{display:grid;gap:16px;min-width:0}
#cabinet-app .client-record-projects .card{margin:0;padding:16px;display:grid;gap:12px;min-width:0}
#cabinet-app .client-record-projects .card>p{margin:0;line-height:1.5}
#cabinet-app .client-record-projects .card>.btn{justify-self:start;max-width:100%}
@media(max-width:760px){#cabinet-app .client-record-values{grid-template-columns:minmax(90px,.65fr) minmax(0,1fr)}#cabinet-app .client-record-values dt,#cabinet-app .client-record-values dd{padding:10px 8px;font-size:13px}}


@media (max-width:760px){
  #cabinet-app #screen-client .client-nav,#cabinet-app #screen-admin .client-nav{display:none!important}
  #cabinet-app #c-content.client-layout,#cabinet-app #a-content.client-layout,
  #cabinet-app #c-content.client-layout:has(.project-page),#cabinet-app #a-content.client-layout:has(.project-page){display:block;padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}
  #cabinet-app .mobile-cabinet-nav{position:fixed;left:0;right:0;bottom:0;z-index:180;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:5px max(8px,env(safe-area-inset-right,0px)) calc(5px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#14283d;border-top:1px solid rgba(255,255,255,.16);box-shadow:0 -8px 24px rgba(17,43,70,.18)}
  #cabinet-app .mobile-cabinet-nav button{position:relative;min-width:0;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 2px;border:0;border-radius:12px;background:transparent;color:#c4d7e9;font:700 10px/1.15 Manrope,sans-serif;text-align:center;cursor:pointer}
  #cabinet-app .mobile-cabinet-nav button.active{background:#357fc2;color:#fff}
  #cabinet-app .mobile-cabinet-nav button:focus-visible,#cabinet-app .mobile-cabinet-sheet button:focus-visible{outline:2px solid #76bdf2;outline-offset:2px}
  #cabinet-app .mobile-cabinet-nav .nav-ico{height:22px;font-size:21px;line-height:22px;display:flex;align-items:center;justify-content:center}
  #cabinet-app .mobile-cabinet-nav .nav-ico svg{width:21px;height:21px}
  #cabinet-app .mobile-cabinet-nav .mobile-nav-badge{position:absolute;top:2px;right:calc(50% - 25px);padding:1px 5px;border-radius:20px;background:#76bdf2;color:#0f3554;font-size:10px;line-height:1.2}
  #cabinet-app .mobile-cabinet-sheet-backdrop{position:fixed;inset:0;z-index:185;background:rgba(7,20,34,.48)}
  #cabinet-app .mobile-cabinet-sheet{position:fixed;left:0;right:0;bottom:0;z-index:190;max-height:min(75dvh,620px);overflow-y:auto;padding:20px 16px calc(22px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;background:#fff;box-shadow:0 -12px 40px rgba(7,20,34,.2)}
  #cabinet-app .mobile-cabinet-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:18px;font-weight:800;color:#14283d}
  #cabinet-app .mobile-cabinet-sheet-head button{border:0;background:#f2f5f9;border-radius:50%;width:38px;height:38px;font-size:22px;color:#14283d}
  #cabinet-app .mobile-cabinet-sheet-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #cabinet-app .mobile-cabinet-sheet-list button{min-height:52px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce4ef;border-radius:12px;background:#f7f9fc;color:#14283d;text-align:left;font:700 13px/1.3 Manrope,sans-serif}
  #cabinet-app .mobile-cabinet-sheet-list button.active{border-color:#357fc2;background:#e9f3ff;color:#0b3e96}
  #cabinet-app .mobile-cabinet-sheet-list .nav-ico{font-size:18px;display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px}
  #cabinet-app .mobile-cabinet-sheet-list .nav-ico svg{width:19px;height:19px}
  #cabinet-app .mobile-cabinet-sheet-actions{display:grid;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #dce4ef}
  #cabinet-app .mobile-cabinet-sheet-actions button{min-height:44px;padding:9px 12px;border:1px solid #dce4ef;border-radius:12px;background:#fff;color:#14283d;text-align:left;font:700 13px Manrope,sans-serif}
}
@media (min-width:761px){#cabinet-app .mobile-cabinet-nav,#cabinet-app .mobile-cabinet-sheet,#cabinet-app .mobile-cabinet-sheet-backdrop{display:none!important}}

.cabinet-selected-files{display:grid;gap:12px;margin-top:12px;min-width:0;grid-column:1/-1}.cabinet-selected-files[hidden]{display:none}.cabinet-selected-file{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid #d8e3ef;border-radius:12px;background:#fff;min-width:0}.cabinet-selected-file-name{overflow-wrap:anywhere;min-width:0}.cabinet-selected-file.file-too-large{border-color:#ecb8ad;background:#fff4f1}.cabinet-selected-files>button{justify-self:start}@media(max-width:760px){.cabinet-selected-file{grid-template-columns:minmax(0,1fr) auto}.cabinet-selected-file-name{grid-column:1/-1}}
#cabinet-app .cabinet-selected-files .btn{min-height:32px;padding:5px 10px;font-size:12px;line-height:1.3;border-width:1px;box-shadow:none}#cabinet-app .cabinet-selected-file{padding:8px 12px}

/* A 100vh minimum was larger than the keyboard-reduced visible viewport. */
@media(max-width:760px){
 #cabinet-app{min-height:0!important}
 #cabinet-app.cabinet-keyboard-viewport{
  top:var(--form-viewport-top,0px)!important;bottom:auto!important;
  height:var(--form-viewport-height,100dvh)!important;
  max-height:var(--form-viewport-height,100dvh)!important;
  min-height:0!important;
 }
 #cabinet-app.cabinet-keyboard-viewport .mobile-cabinet-nav,
 #cabinet-app.cabinet-keyboard-viewport .mobile-cabinet-sheet,
 #cabinet-app.cabinet-keyboard-viewport .mobile-cabinet-sheet-backdrop,
 #cabinet-app.cabinet-keyboard-viewport .cabinet-scroll-hint{display:none!important}
 #cabinet-app.cabinet-keyboard-viewport :is(#screen-client,#screen-admin):not(.hidden){height:100%!important;min-height:0!important}
 #cabinet-app.cabinet-keyboard-viewport :is(#screen-client,#screen-admin)>.wrap{
  height:auto!important;max-height:none!important;flex:1 1 0!important;min-height:0!important;
  overflow-y:auto!important;padding-bottom:24px!important;scroll-padding:12px 0 24px;
 }
 #cabinet-app.form-keyboard-open .topbar{position:relative!important;top:0!important;flex:none}
 #cabinet-app.cabinet-keyboard-viewport :is(input:not([type=checkbox]):not([type=radio]),textarea,select,[contenteditable=true]){
  font-size:16px!important;box-sizing:border-box;min-width:0;max-width:100%;scroll-margin-block:12px;
 }
 #cabinet-app.form-keyboard-open .project-help-chat:not(.mobile-chat-open),
 #cabinet-app.form-keyboard-open #a-chat-minimized-stack{display:none!important}
}

/* 8 px label, 12 px control gap, 16 px card padding. */
#cabinet-app .cabinet-window-header :is(button,a),#cabinet-app .training-project-heading .training-project-close{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;flex:0 0 auto!important;min-width:88px;max-width:100%;min-height:40px}
#cabinet-app #cabinet-toast-root:has(.cabinet-feedback-toast){pointer-events:none;max-width:calc(100vw - 24px);right:12px!important;gap:8px}
#cabinet-app .cabinet-feedback-toast{pointer-events:auto;display:grid!important;grid-template-columns:20px minmax(0,1fr) 32px;gap:8px!important;padding:10px 12px!important;width:min(340px,calc(100vw - 24px));max-width:100%;min-width:0;box-sizing:border-box;align-items:center;border-radius:12px!important;font-size:13px;line-height:1.4;box-shadow:0 4px 18px #132f4b14}
#cabinet-app .cabinet-feedback-toast .ct-icon{width:20px;height:20px}
#cabinet-app .cabinet-feedback-toast .ct-icon svg{width:18px;height:18px}
#cabinet-app .cabinet-feedback-toast .ct-text{min-width:0;overflow-wrap:anywhere;font-size:13px!important;line-height:1.4}
#cabinet-app .cabinet-feedback-toast .ct-text b{display:block}
#cabinet-app .cabinet-feedback-toast-close{display:grid;place-items:center;padding:6px;width:32px;height:32px;min-width:32px;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:8px}
#cabinet-app .cabinet-feedback-toast-close:focus-visible{outline:2px solid #216df4;outline-offset:1px}
#cabinet-app .doc-row-actions.cabinet-document-actions{display:grid!important;grid-template-columns:minmax(0,1fr);align-items:stretch!important;gap:12px!important;min-width:0;width:100%}
#cabinet-app .cabinet-document-file-actions,#cabinet-app .cabinet-document-response-actions,#cabinet-app .cabinet-document-extra-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;align-items:stretch}
#cabinet-app .cabinet-document-response-actions{grid-template-columns:minmax(0,1fr);padding-top:12px;border-top:1px solid #e2e9f4}
#cabinet-app .cabinet-document-actions .btn{display:flex!important;align-items:center;justify-content:center;width:100%!important;max-width:100%;min-width:0;min-height:40px;box-sizing:border-box;white-space:normal!important;overflow-wrap:anywhere;text-align:center;text-decoration:none!important;line-height:1.4!important;margin:0!important;padding:8px 12px!important}
#cabinet-app .cabinet-document-actions [role=group]>:only-child{grid-column:1/-1}
#cabinet-app .cabinet-document-extra-actions>.chat-document-source{grid-column:1/-1;overflow-wrap:anywhere}
@media(max-width:760px){
 #cabinet-app .mobile-cabinet-sheet{top:auto!important;bottom:calc(var(--cabinet-window-bottom,64px) + 8px)!important;height:auto!important;max-height:calc(var(--cabinet-window-height,70dvh) - 16px)!important;min-height:0!important;gap:8px!important}
 #cabinet-app .mobile-cabinet-sheet-list{flex:0 1 auto!important;min-height:0;overflow-y:auto;overscroll-behavior:contain}
 #cabinet-app .mobile-cabinet-sheet-actions,#cabinet-app .mobile-cabinet-sheet-head,#cabinet-app .mobile-sheet-close-handle{flex:0 0 auto!important}
 #cabinet-app .cabinet-document-structured{padding:16px!important}
}

html.cabinet-is-open .calendar-event-export{border-top:1px solid #dce5f3;margin-top:24px;padding-top:16px;display:grid;gap:12px;min-width:0}
html.cabinet-is-open .calendar-event-export-actions{display:flex;flex-wrap:wrap;gap:12px;min-width:0}
html.cabinet-is-open .calendar-event-export-actions>.btn{margin:0;min-width:0;max-width:100%;box-sizing:border-box;min-height:44px;white-space:normal;text-align:center;overflow-wrap:anywhere;line-height:1.4}
html.cabinet-is-open .calendar-event-export>p{margin:0;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:760px){html.cabinet-is-open .calendar-event-export-actions{display:grid;grid-template-columns:minmax(0,1fr)}html.cabinet-is-open .calendar-event-export-actions>.btn{width:100%}}

/* Hints occupy their own row; hiding one removes its space as well. */
#cabinet-app .client-action-hint{position:static;inset:auto;display:flex;align-items:flex-start;gap:12px;width:100%;min-width:0;box-sizing:border-box;padding:12px 16px;margin:0 0 16px;border:1px solid #dbe5ef;border-radius:12px;background:#f7f9fc;color:#52677d;box-shadow:none;transform:none;grid-column:1/-1}
#cabinet-app .client-action-hint p{flex:1;min-width:0;font-size:13px;line-height:1.5;margin:0;white-space:normal;overflow-wrap:anywhere}
#cabinet-app .client-action-hint-hide{flex:0 0 auto;position:static;min-height:32px;padding:4px 8px;border:0;border-radius:8px;background:transparent;color:#356495;font:600 12px/1.5 system-ui;cursor:pointer;white-space:nowrap}
#cabinet-app .client-action-hint-hide:focus-visible{outline:2px solid #216df4;outline-offset:2px}
#cabinet-app :is(#c-training-menu-btn,#a-training-menu-btn,#c-training-launcher,#a-training-launcher,#c-training-panel,#a-training-panel,.cabinet-guide-settings,[data-cabinet-guide-entry]){display:none!important}
@media(max-width:360px){#cabinet-app .client-action-hint{padding:12px;gap:8px}}

#hero[data-reveal],#hero [data-reveal],#hero .hero-grid>*{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
html.cabinet-is-open body>header.site,html.cabinet-is-open body>main,html.cabinet-is-open body>footer{display:none!important}
#cabinet-app:has(#screen-login:not(.hidden)),#cabinet-app:has(#screen-new-password:not(.hidden)){overflow-y:auto!important;overscroll-behavior:contain}#cabinet-app :is(#screen-login,#screen-new-password){box-sizing:border-box;min-height:100%;height:auto}#cabinet-app :is(#screen-login,#screen-new-password) input{font-size:16px;box-sizing:border-box;max-width:100%;min-width:0}
#cabinet-app #login-status:empty{display:none!important}
/* One control column and one unbroken copy column, including policy links. */
#cabinet-app .cabinet-choice-label{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;column-gap:12px!important;row-gap:8px!important;align-items:start!important;align-content:start;min-width:0;max-width:100%;box-sizing:border-box;text-align:left!important;font-size:14px;line-height:1.5!important;text-transform:none!important;letter-spacing:normal!important}
#cabinet-app .cabinet-choice-label>input[type=checkbox],#cabinet-app .cabinet-choice-label>input[type=radio]{grid-column:1;grid-row:1;align-self:start!important;position:static!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;margin:2px 0 0!important;box-sizing:border-box;flex:none;box-shadow:none!important;appearance:auto!important;accent-color:#1f6feb}
#cabinet-app .cabinet-choice-label-copy{display:block;grid-column:2;grid-row:1;min-width:0;max-width:100%;font-size:inherit;line-height:inherit;text-align:left;white-space:normal!important;overflow-wrap:anywhere}
#cabinet-app .cabinet-choice-label-copy>.privacy-consent-link{display:block!important;width:auto!important;max-width:100%;min-height:0!important;margin:8px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;white-space:normal!important;text-align:left!important;text-transform:none!important;letter-spacing:normal!important;font:inherit!important;line-height:1.5!important;color:var(--accent-it-ink,#0b3e96);text-decoration:underline;text-underline-offset:3px;cursor:pointer;overflow-wrap:anywhere}
#cabinet-app .cabinet-choice-label-copy>label{display:block;margin:0!important;line-height:inherit!important;text-transform:none!important;letter-spacing:normal!important}
#cabinet-app .cabinet-choice-label-copy>.privacy-consent-link:focus-visible{outline:2px solid #1f6feb;outline-offset:3px}
@media(max-width:760px){#cabinet-app .cabinet-choice-label{font-size:14px!important;line-height:1.5!important}#cabinet-app .cabinet-choice-label-copy{font-size:14px!important;line-height:1.5!important}}

/* Keep the notice, heading and contact action in one measured flex flow.
   The shared chat viewport boundary belongs to their common parent. */
#cabinet-app .cabinet-working-hours{
 position:relative;inset:auto;transform:none;flex:0 0 auto;min-width:0;max-width:100%;
}
#cabinet-app .cabinet-working-hours>div{min-width:0;overflow-wrap:anywhere}
#cabinet-app .client-contact-entry{min-width:0;max-width:100%;box-sizing:border-box}
#cabinet-app .client-contact-entry p{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){
 #cabinet-app#cabinet-app :is(#screen-client,#screen-admin) .client-main:has(> :is(#cview-chats,#aview-chats):not(.hidden)){
  position:fixed!important;left:10px!important;right:10px!important;bottom:auto!important;
  top:var(--stable-chat-top,var(--cabinet-window-top,72px))!important;
  height:var(--stable-chat-height,var(--cabinet-window-height,calc(100dvh - 172px)))!important;
  display:flex!important;flex-direction:column!important;gap:12px;
  width:auto!important;max-width:none!important;min-width:0;min-height:0!important;
  margin:0!important;padding:0!important;box-sizing:border-box;overflow:hidden!important;z-index:20;
 }
 #cabinet-app#cabinet-app :is(#screen-client,#screen-admin) .client-main:has(> :is(#cview-chats,#aview-chats):not(.hidden))>.working-hours-banner{
  flex:0 0 auto!important;margin:0!important;
 }
 #cabinet-app#cabinet-app :is(#screen-client,#screen-admin) .client-main:has(> :is(#cview-chats,#aview-chats):not(.hidden))> :is(#c-service-modal-root,#c-project-modal-root):empty{
  display:none!important;
 }
 #cabinet-app#cabinet-app :is(#screen-client,#screen-admin) .client-main:has(> :is(#cview-chats,#aview-chats):not(.hidden))> :is(#cview-chats,#aview-chats):not(.hidden){
  position:relative!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;
  height:auto!important;max-height:100%!important;min-height:0!important;flex:1 1 0!important;
  display:flex!important;flex-direction:column!important;gap:12px;
  margin:0!important;padding:0!important;min-width:0;width:100%;box-sizing:border-box;overflow:hidden!important;
 }
 #cabinet-app#cabinet-app :is(#cview-chats,#aview-chats)> :is(.section-title,.row-actions,.client-contact-entry){
  position:static!important;flex:0 0 auto!important;margin:0!important;min-width:0;max-width:100%;
 }
 #cabinet-app#cabinet-app :is(#cview-chats,#aview-chats)>.messenger-layout{
  flex:1 1 0!important;height:auto!important;min-height:0!important;max-height:100%!important;margin:0!important;
 }
 #cabinet-app#cabinet-app.chat-keyboard-open :is(#screen-client,#screen-admin) .client-main:has(> :is(#cview-chats,#aview-chats):not(.hidden)){
  left:4px!important;right:4px!important;
  top:calc(var(--stable-chat-top,4px) + env(safe-area-inset-top,0px))!important;
  height:calc(var(--stable-chat-height,100dvh) - env(safe-area-inset-top,0px))!important;
 }
}

#cabinet-app .stage-material-selection-note{grid-column:1/-1;margin:0;line-height:1.5;min-width:0;overflow-wrap:anywhere}
#cabinet-app .stage-material-preservation-note{padding:16px;border:1px solid #e9c460;border-left:4px solid #d89c16;border-radius:14px;background:#fff5cf;color:#664706;min-width:0;box-sizing:border-box;overflow-wrap:anywhere;line-height:1.5}
#cabinet-app .stage-material-preservation-note strong{display:block;font-size:15px}
#cabinet-app .stage-material-preservation-note p{margin:8px 0 0;font-size:14px;line-height:1.5}

/* CABINET_EXPAND_SVG_20261016_V2 */
details summary::after{background-position:center;background-repeat:no-repeat;background-size:12px 12px;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231f6feb%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E")}
details[open] summary::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231f6feb%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3C%2Fsvg%3E")}
.process-row summary:after{background-position:center;background-repeat:no-repeat;background-size:1em 1em;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231f6feb%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E")}
.process-row details[open] summary:after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231f6feb%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3C%2Fsvg%3E")}
#cabinet-app .project-quick-tiles>details>summary::after{background-position:center;background-repeat:no-repeat;background-size:12px 12px;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231f6feb%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E")}
#cabinet-app .project-quick-tiles>details[open]>summary::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231f6feb%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3C%2Fsvg%3E")}

/* DOMAIN_SENDER_NOTICE_20261016 */
#cabinet-app .domain-access-warning.domain-send-warning{display:block;box-sizing:border-box;width:100%;max-width:640px;min-width:0;padding:12px 16px;font-size:14px;line-height:1.5;white-space:normal;overflow-wrap:break-word}
/* desktop-chat-fill-20261016: preserve the measured width and mobile flow. */
@media(min-width:761px){
 #cabinet-app :is(#aview-chats,#cview-chats)>.messenger-layout{
  box-sizing:border-box;min-width:0;max-width:100%;
 }
 #cabinet-app :is(#aview-chats,#cview-chats) .messenger-pane,
 #cabinet-app :is(#aview-chats,#cview-chats) .messenger-rail{
  box-sizing:border-box;min-width:0;min-height:0;
 }
}
/* cabinet-act-warranty-spacing-20261016 */
/* Workflow engine cards only: launch/final review/act/warranty, both roles.
 * One card inset; forms themselves stay at padding:0. Ordinary brief/terms/contract actions are excluded. */
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions){box-sizing:border-box;min-width:0;max-width:100%;padding:16px!important;gap:24px}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions)>*{box-sizing:border-box;min-width:0;max-width:100%}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions)>.btn{justify-self:start;width:auto;max-width:100%;margin:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4;text-align:center}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions)>strong,#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions)>p{margin:0}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-form{box-sizing:border-box;min-width:0;max-width:100%;margin:0;padding:0;gap:12px 16px;align-items:start}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-field,#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-upload{box-sizing:border-box;min-width:0;max-width:100%;margin:0;gap:8px;line-height:1.4;overflow-wrap:anywhere}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-field input,#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-field textarea,#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-upload input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0;font-size:16px}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-upload input[type=file]{height:auto;min-height:44px}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-form>.btn,#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-form>.stage-workflow-buttons{grid-column:1/-1;justify-self:start;box-sizing:border-box;min-width:0;max-width:100%;margin:0}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-form .btn{width:auto;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-buttons{gap:12px;min-width:0;max-width:100%;flex-wrap:wrap}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-corrections{box-sizing:border-box;min-width:0;max-width:100%;padding:16px}
#cabinet-app .stage-workflow-primary:is(.admin-stage-actions,.client-stage-actions) .stage-workflow-corrections>.stage-workflow-form{margin-top:24px}
/* project-tabs-compact-20261016 */
#cabinet-app .project-tabs{
 display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;min-width:0;
}
#cabinet-app .project-tabs>button.btn{
 flex:0 1 auto;align-self:flex-start;box-sizing:border-box;
 min-width:0;max-width:100%;width:auto!important;height:auto!important;min-height:36px;
 padding:6px 12px;font-size:13px;line-height:1.35;
 white-space:normal;overflow:visible;overflow-wrap:break-word;word-break:normal;
}

.warranty-quote-card,.warranty-quote-form{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.warranty-quote-card{display:grid;gap:12px;padding:16px;margin-block:0 24px}
.warranty-quote-card p{margin:0}
.warranty-quote-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;min-width:0}
.warranty-quote-actions>*{min-width:0;max-width:100%;box-sizing:border-box}
.warranty-quote-actions select{width:100%;font-size:16px}
.warranty-quote-form label{min-width:0;max-width:100%;gap:8px}
.warranty-quote-form [hidden]{display:none!important}
@media(max-width:600px){.warranty-quote-actions>button{flex:1 1 100%;width:100%;white-space:normal;overflow-wrap:anywhere}.warranty-quote-form input,.warranty-quote-form select,.warranty-quote-form textarea{font-size:16px;min-width:0;width:100%;box-sizing:border-box}}


/* PARTNER_CABINET_CSS_20261016 */
/* Partner runtime is opt-in. Existing client/admin/referral styles are intact. */
#cabinet-app .partner-cabinet{
 position:absolute;inset:0;z-index:6100;display:flex;flex-direction:column;padding:0;margin:0;
 min-width:0;min-height:0;box-sizing:border-box;background:var(--bg,#f2f5f9);color:var(--ink,#20374a);
}
#cabinet-app .partner-cabinet[hidden]{display:none!important}
#cabinet-app .partner-cabinet *,#cabinet-app .partner-admin-block *{box-sizing:border-box}
#cabinet-app .partner-header{
 display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;
 min-width:0;padding:16px 24px;border-bottom:1px solid #dce5ef;background:white;
}
#cabinet-app .partner-header strong{min-width:0;overflow-wrap:anywhere;color:#124d9c}
#cabinet-app .partner-brand{display:grid;gap:2px;min-width:0;flex:1 1 auto;line-height:1.3}
#cabinet-app .partner-brand strong{font-size:16px;white-space:nowrap}
#cabinet-app .partner-brand>span{font-size:12px;color:#63758b}
#cabinet-app .partner-header-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:8px;margin:0;padding:0}
#cabinet-app .partner-header-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
#cabinet-app .partner-header-actions svg{flex:0 0 20px}
#cabinet-app .partner-header>.cabinet-notification-holder{flex:0 0 40px;width:40px;height:40px;margin:0}
#cabinet-app .partner-header .cabinet-notification-bell{width:40px;height:40px;min-height:40px;padding:8px}
#cabinet-app .partner-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;flex:1;min-height:0;min-width:0;padding:16px;overflow:hidden}
#cabinet-app .partner-navigation{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-height:0;overflow-y:auto;padding:0 8px 16px 0}
#cabinet-app .partner-content{min-width:0;min-height:0;overflow-y:auto;overflow-x:auto;padding:0 0 24px;overscroll-behavior:contain;scroll-padding:16px}
#cabinet-app .partner-content>h1,#cabinet-app .partner-content>h2{margin:0 0 24px;font-size:22px;line-height:1.4;overflow-wrap:anywhere}
#cabinet-app .partner-card{display:grid;gap:16px;padding:16px;margin:0 0 24px;border:1px solid #dce5ef;border-radius:16px;background:white;min-width:0;max-width:100%}
#cabinet-app .partner-card h3,#cabinet-app .partner-card p{margin:0;min-width:0;overflow-wrap:anywhere;line-height:1.5}
#cabinet-app .partner-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;min-width:0;margin:0}
#cabinet-app .partner-field{display:grid;gap:8px;min-width:0;margin:0!important;line-height:1.4;text-transform:none;letter-spacing:normal;font-size:14px;font-weight:600}
#cabinet-app .partner-field :is(input,textarea,select){min-width:0;width:100%;max-width:100%;margin:0!important;padding:10px 12px;font:inherit;font-weight:400;font-size:16px;border:1px solid #d7e2f1;border-radius:12px;background:#f7f9fd;color:inherit}
#cabinet-app .partner-field input[type=file]{height:auto;min-height:44px;padding:8px}
#cabinet-app .partner-field:has(textarea),#cabinet-app .partner-consent,#cabinet-app .partner-form>p,#cabinet-app .partner-form>.btn{grid-column:1/-1}
#cabinet-app .partner-consent{display:flex;align-items:flex-start;gap:12px;min-width:0;margin:0!important;text-transform:none;letter-spacing:normal;line-height:1.5;font-size:14px}
#cabinet-app .partner-consent input[type=checkbox]{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px;margin:2px 0 0!important}
#cabinet-app .partner-form>.btn{justify-self:start}
#cabinet-app :is(.partner-cabinet,.partner-admin-block) .btn{min-width:0;max-width:100%;width:auto;min-height:40px;height:auto;padding:8px 14px;white-space:normal;line-height:1.4;overflow-wrap:break-word;align-self:start}
#cabinet-app .partner-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin:12px 0;min-width:0}
#cabinet-app .partner-status{min-width:0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
#cabinet-app .partner-status:empty{display:none}
#cabinet-app .partner-note{padding:12px 16px;background:#fff8e9;border:1px solid #efd69a;border-radius:12px;line-height:1.5;overflow-wrap:anywhere}
#cabinet-app .partner-values{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1fr);gap:0;margin:0;min-width:0}
#cabinet-app .partner-values :is(dt,dd){min-width:0;padding:12px;margin:0;border-bottom:1px solid #dce5ef;line-height:1.5;overflow-wrap:anywhere}
#cabinet-app .partner-values dt{background:#f5f8fd;color:#63758b}
#cabinet-app .partner-table-scroll{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin:16px 0 24px}
#cabinet-app .partner-table{width:100%;min-width:1100px;border-collapse:collapse;background:white;font-size:13px}
#cabinet-app .partner-table :is(th,td){padding:12px;text-align:left;vertical-align:top;border:1px solid #dce5ef;line-height:1.45;overflow-wrap:anywhere;max-width:220px}
#cabinet-app .partner-table th{background:#edf4ff;font-weight:700}
#cabinet-app .partner-admin-block{min-width:0;max-width:100%;margin-top:24px;border-top:1px solid #dce5ef;padding:24px 0 0}
#cabinet-app .partner-admin-workspace{max-height:min(800px,var(--cabinet-window-height,80dvh));overflow-y:auto;padding:16px;border:1px solid #dce5ef;border-radius:16px;margin-top:24px}
#cabinet-app .partner-invitation .partner-navigation{display:none}
#cabinet-app .partner-invitation .partner-layout{grid-template-columns:minmax(0,640px);justify-content:center}
@media(max-width:760px){
 #cabinet-app .partner-header{padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top,0px));gap:8px}
 #cabinet-app .partner-brand strong{font-size:14px;line-height:18px}
 #cabinet-app .partner-brand>span{font-size:11px;line-height:14px}
 #cabinet-app .partner-cabinet .partner-header-actions .btn{flex:0 0 40px;width:40px;height:40px;min-height:40px;padding:9px}
 #cabinet-app .partner-header-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #cabinet-app .partner-layout{display:flex;flex-direction:column;gap:12px;padding:12px 12px 0}
 #cabinet-app .partner-content{order:0;flex:1 1 0;width:100%;padding-bottom:16px}
 #cabinet-app .partner-navigation{order:1;flex:0 0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow:visible;margin:0 -12px;padding:4px 12px calc(4px + env(safe-area-inset-bottom,0px));background:#142b3d}
 #cabinet-app .partner-cabinet .partner-navigation>.btn{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;gap:3px;min-height:52px;width:100%;padding:4px 2px;font-size:10.5px;line-height:1.2;text-align:center;background:#fff;border-radius:12px}
 #cabinet-app .partner-cabinet .partner-nav-client-desktop{display:none}
 #cabinet-app .partner-cabinet .partner-nav-client-mobile{display:block}
 #cabinet-app.cabinet-keyboard-viewport .partner-cabinet .partner-navigation{display:none}
 #cabinet-app .partner-form{grid-template-columns:minmax(0,1fr)}
 #cabinet-app .partner-card{padding:16px}
 #cabinet-app .partner-values{grid-template-columns:minmax(100px,.7fr) minmax(0,1fr)}
 #cabinet-app .partner-values :is(dt,dd){padding:10px;font-size:13px}
 #cabinet-app .partner-invitation .partner-layout{display:flex}
}

#cabinet-app .partner-terminated .partner-navigation{display:none}

#cabinet-app .partner-navigation .btn{display:flex;align-items:center;justify-content:flex-start;gap:8px;text-align:left}
#cabinet-app .partner-nav-icon{flex:0 0 20px}
#cabinet-app .partner-nav-label{overflow-wrap:normal;word-break:normal;hyphens:none}
#cabinet-app .partner-nav-client-mobile{display:none}

/* PARTNER_ORDER_DISCOUNT_CSS_20261016 */
#cabinet-app .partner-order-discount{box-sizing:border-box;min-width:0;max-width:100%;padding:16px;margin:0 0 16px;border:1px solid #d7e2f1;border-radius:12px;background:#eef5ff;color:var(--ink,#20374a)}
#cabinet-app .partner-order-discount :is(strong,p,dt,dd){min-width:0;overflow-wrap:anywhere;line-height:1.5}
#cabinet-app .partner-order-discount p{margin:12px 0 0}
#cabinet-app .partner-discount-values{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;margin:12px 0 0}
#cabinet-app .partner-discount-values :is(dt,dd){margin:0;padding:0}
#cabinet-app .partner-discount-values dd{text-align:right;font-weight:600}
#cabinet-app .partner-discount-amount-label{display:block;margin:0 0 8px;text-transform:none;letter-spacing:normal}
#cabinet-app .partner-discount-status{min-width:0;overflow-wrap:anywhere;line-height:1.5;margin:12px 0}
#cabinet-app .partner-discount-status .btn{margin:12px 0 0;min-height:40px;max-width:100%;height:auto;white-space:normal}

/* A neighbouring client accordion must not set the height of stage actions. */
#cabinet-app .project-quick-tiles{align-items:start;gap:12px}
#cabinet-app .project-quick-tiles>details{min-height:0;padding:8px 12px}
#cabinet-app .project-quick-tiles>.project-quick-next{
 align-self:start;justify-self:start;width:auto;max-width:100%;min-width:0;
 min-height:40px;height:auto;padding:8px 14px;line-height:1.4;
 white-space:normal;overflow-wrap:break-word;
}
/* Let complete icon/label actions wrap as units instead of stretching a row. */
#cabinet-app .cabinet-document-file-actions{
 display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;
}
#cabinet-app .cabinet-document-file-actions>.btn{
 align-self:start;flex:0 1 auto;flex-wrap:nowrap;width:auto;max-width:100%;
 min-height:40px;height:auto;
}
/* The domain form owns its card padding; choice labels do not inherit form margins. */
#cabinet-app .stage-workflow-primary.client-stage-actions:has(>.domain-registration-form){padding:0!important}
#cabinet-app .stage-workflow-primary.client-stage-actions>.stage-workflow-form.domain-registration-form{
 box-sizing:border-box;min-width:0;max-width:100%;padding:16px!important;
 grid-template-columns:minmax(0,1fr);gap:16px;
}
#cabinet-app .domain-registration-form .domain-form-choices{
 display:grid;grid-template-columns:minmax(0,1fr);gap:24px;min-width:0;
}
#cabinet-app .domain-registration-form fieldset.domain-choice{
 display:grid;grid-template-columns:minmax(0,1fr);gap:12px;
 min-width:0;max-width:100%;margin:0;padding:0;border:0;
}
#cabinet-app .domain-registration-form .domain-choice>legend{
 max-width:100%;width:100%;margin:0 0 8px;padding:0;
 white-space:normal;overflow-wrap:anywhere;line-height:1.5;
}
#cabinet-app .domain-registration-form label{margin:0!important;min-width:0}
#cabinet-app .domain-registration-form .domain-choice>.cabinet-choice-label{
 grid-template-columns:20px minmax(0,1fr);align-items:center;
 gap:12px;min-height:44px;max-width:100%;padding:12px;
}
#cabinet-app .domain-registration-form .cabinet-choice-label>input{
 margin:0!important;width:18px!important;height:18px!important;
 min-height:18px!important;align-self:center;
}
#cabinet-app .domain-registration-form .cabinet-choice-label-copy{min-width:0;line-height:1.45}
#cabinet-app .domain-registration-form[hidden],
#cabinet-app .domain-registration-form [hidden]{display:none!important}

/* cabinet-stage-cards-consistency-20261016
 * Append AFTER the V8 spacing and V8.1 compact controls.
 * The action frame owns its 16px inset; plain child forms own no inset.
 * Domain ownership/radios remain entirely in cabinet_compact_stage_controls.
 * No button padding, height, font size, header, display or DOM changes here. */
#cabinet-app .admin-stage-actions:not(:has(>.domain-registration-form)),
#cabinet-app .stage-workflow-primary.client-stage-actions:not(:has(>.domain-registration-form)){
 box-sizing:border-box;min-width:0;max-width:100%;padding:16px!important;gap:24px;
}
#cabinet-app :is(.admin-stage-actions,.client-stage-actions)>*{
 box-sizing:border-box;min-width:0;max-width:100%;
}
/* Act upload/review, launch, final review, warranty forms: no second 16px
 * between the existing action frame and their fields. Their separate blue
 * prompt is a sibling <strong> and retains its own frame and typography. */
#cabinet-app .stage-workflow-primary:not(:has(>.domain-registration-form)) .stage-workflow-form:not(.domain-registration-form){
 box-sizing:border-box;min-width:0;max-width:100%;margin:0;padding:0;
 gap:12px 16px;align-items:start;
}
/* Older brief/price/contract/payment/material renderers are promoted into the
 * same actions section. These are unframed forms (including inline padding
 * on #ct-form/#pm-form/#d-link-wrap), so only the outside card is padded. */
#cabinet-app .admin-stage-actions :is(#po-offer-form,#ct-form,#pm-form,#subscription-form,#d-link-wrap),
#cabinet-app .client-stage-actions :is(.terms-reject-form,.private-details-form){
 box-sizing:border-box;min-width:0;max-width:100%;margin:0;padding:0!important;
 gap:12px 16px;
}
/* Existing independent framed cards keep an inset of their own. Plain forms
 * nested in these cards still use padding:0 above; no broad form/card reset. */
#cabinet-app :is(.admin-stage-actions,.client-stage-actions) :is(.stage-workflow-material,.stage-workflow-corrections,.spec-attachments,.client-act-action,.client-support-action,.warranty-quote-card){
 box-sizing:border-box;min-width:0;max-width:100%;padding:16px;
}
#cabinet-app .stage-workflow-primary:not(:has(>.domain-registration-form)) .stage-workflow-corrections>.stage-workflow-form{
 margin-top:24px;
}
/* Label → field 8px; adjacent controls and actions 12px. Deliberately exclude
 * domain labels/choice groups: the compact radio layout has its own rules. */
#cabinet-app .stage-workflow-primary:not(:has(>.domain-registration-form)) :is(.stage-workflow-field,.stage-workflow-upload),
#cabinet-app .admin-stage-actions :is(#po-offer-form,#ct-form,#pm-form,#subscription-form,#d-link-wrap)>label:not(:has(input:is([type=checkbox],[type=radio]))),
#cabinet-app .client-stage-actions :is(.terms-reject-form,.private-details-form)>label:not(:has(input:is([type=checkbox],[type=radio]))){
 display:grid;gap:8px;min-width:0;max-width:100%;margin:0;line-height:1.4;
}
#cabinet-app :is(.admin-stage-actions,.client-stage-actions) :is(.stage-workflow-buttons,.row-actions,.payment-review-actions,.warranty-quote-actions){
 gap:12px;min-width:0;max-width:100%;flex-wrap:wrap;
}
#cabinet-app .stage-workflow-primary:not(:has(>.domain-registration-form)) .stage-workflow-form>:is(.btn,.stage-workflow-buttons){
 grid-column:1/-1;justify-self:start;margin:0;min-width:0;max-width:100%;
}
/* Native dates/file controls must shrink inside 320px cards without shrinking
 * the whole page, clipping content, or changing the existing button sizing. */
#cabinet-app .stage-workflow-primary:not(:has(>.domain-registration-form)) .stage-workflow-form :is(input:not([type=checkbox]):not([type=radio]),textarea,select),
#cabinet-app .admin-stage-actions :is(#po-offer-form,#ct-form,#pm-form,#subscription-form,#d-link-wrap) :is(input:not([type=checkbox]):not([type=radio]),textarea,select),
#cabinet-app .client-stage-actions :is(.terms-reject-form,.private-details-form) :is(input:not([type=checkbox]):not([type=radio]),textarea,select){
 box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0;font-size:16px;
}
@media(max-width:600px){
 #cabinet-app .stage-workflow-primary:not(:has(>.domain-registration-form)) .stage-workflow-form{
  grid-template-columns:minmax(0,1fr);
 }
}

/* PROJECT_CHAT_ACTION_FLOW_20261016_V2_CSS */
/* Existing toggle in a preserved active project-body row, never over a field. */
#cabinet-app .project-chat-inline-actions[hidden]{display:none!important}
@media(max-width:760px){
 #cabinet-app .project-chat-inline-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;box-sizing:border-box;min-width:0;width:100%;padding:0;margin:0 0 16px;}
 #cabinet-app .project-chat-inline-actions>.mobile-chat-edge{display:inline-flex!important;position:static!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;z-index:auto!important;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:auto;min-width:0;max-width:100%;min-height:40px;margin:0!important;padding:8px 16px;border:0;border-radius:20px;background:#1f6feb;color:#fff;box-shadow:none;font-size:14px;line-height:1.4;font-weight:600;cursor:pointer;touch-action:pan-y;white-space:normal;}
 #cabinet-app .project-chat-inline-actions>.mobile-chat-edge svg{width:16px;height:16px;flex:none;}
}

/* CABINET_AUTH_MORE_GEOMETRY_20261016. Append after current compact/bounds CSS.
   Auth has its own bounded frame; role screens, forms and passwords are retained. */
#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))){overflow:hidden!important;overflow-x:clip!important;overscroll-behavior:none}
#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))) :is(#screen-login,#screen-new-password):not(.hidden){
 position:absolute!important;top:var(--cabinet-auth-top,calc(70px + env(safe-area-inset-top,0px)))!important;bottom:auto!important;left:0!important;right:0!important;
 height:var(--cabinet-auth-height,calc(100% - 86px - env(safe-area-inset-top,0px)))!important;min-height:0!important;max-height:none!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 padding:0 16px!important;margin:0!important;box-sizing:border-box;overflow:hidden;
}
#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))) :is(#screen-login,#screen-new-password)>.auth-card{
 display:flex;flex-direction:column;gap:12px;
 box-sizing:border-box;flex:0 1 420px;max-width:420px!important;width:100%!important;min-width:0!important;min-height:0!important;
 height:var(--cabinet-auth-card-height,auto)!important;max-height:100%!important;margin:0!important;
 overflow-y:auto!important;overflow-x:clip!important;overscroll-behavior:contain;scroll-padding-block:12px;
 transform:none!important;animation:none!important;transition:none!important;
}
#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))) :is(#screen-login,#screen-new-password)>.auth-card>*{flex-shrink:0!important}
#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))) #cabinet-close-btn{position:absolute!important;top:calc(var(--cabinet-auth-close-top,14px) + env(safe-area-inset-top,0px))!important;min-height:44px!important}
#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))) #login-status{display:block!important;flex:0 0 auto!important;height:auto!important;max-height:none!important;min-height:40px;box-sizing:border-box;margin-top:12px;margin-bottom:0;overflow-wrap:anywhere}
#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))) #login-status.hidden{visibility:hidden}
#cabinet-app.cabinet-auth-layout-active .cabinet-auth-busy{opacity:.5;pointer-events:none}
#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))) :is(input,textarea,select){font-size:16px!important;box-sizing:border-box;min-width:0;max-width:100%}
#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))) :is(form,label,.pw-field){min-width:0;max-width:100%;box-sizing:border-box}
/* Current POST legal note styling is also critical before deferred CSS arrives. */
#cabinet-app :is(#screen-login,#screen-new-password) .security-trust-note{box-sizing:border-box;clear:both;flex-basis:100%;width:100%;margin:12px 0;padding:12px 14px;background:#edf8f0;border:1px solid #b9dfc4;border-radius:12px;color:#176035;font:500 13px/1.65 Manrope,sans-serif;overflow-wrap:anywhere}
#cabinet-app :is(#screen-login,#screen-new-password) .security-trust-note p{margin:6px 0;font:inherit;color:inherit}
#cabinet-app :is(#screen-login,#screen-new-password) .security-trust-note a{color:#14552d;text-decoration:underline;font-weight:800}
#cabinet-app :is(#screen-login,#screen-new-password) .security-trust-note summary{cursor:pointer;font-weight:700;list-style-position:inside}
@media(max-width:760px){
 #cabinet-app :is(#screen-client,#screen-admin) .mobile-cabinet-sheet{
  top:auto!important;bottom:var(--cabinet-more-bottom,calc(var(--cabinet-window-bottom,64px) + 8px))!important;
  height:auto!important;min-height:0!important;max-height:var(--cabinet-more-height,calc(var(--cabinet-window-height,70dvh) - 16px))!important;margin:0!important;
 }
 #cabinet-app .mobile-cabinet-sheet-list{flex:0 1 auto!important;min-height:0!important;overflow-y:auto!important}
 #cabinet-app :is(.mobile-cabinet-sheet-head,.mobile-cabinet-sheet-actions,.mobile-cabinet-sheet-handle){flex:0 0 auto!important}
}

/* CHECKOUT_PRESERVE_APP_20261019_CSS */
.checkout-preserve-app-actions{display:flex;flex-wrap:wrap;gap:12px;min-width:0}.checkout-preserve-app-actions>*{box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* PROJECT_CHAT_EDGE_RESTORE_20261019_CSS */
/* The same collapsed chat tab stays at the right edge between measured menus. */
#cabinet-app :is(#screen-client,#screen-admin)>.mobile-chat-edge{
 display:inline-flex!important;position:fixed!important;inset:auto!important;
 right:0!important;top:calc(var(--cabinet-window-top,72px) + var(--cabinet-window-height,calc(100dvh - 172px)) / 2 - 22px)!important;
 bottom:auto!important;left:auto!important;transform:none!important;z-index:3201!important;
 align-items:center;justify-content:center;gap:6px;box-sizing:border-box;
 min-height:44px;width:auto;max-width:calc(100vw - 16px);margin:0!important;
 padding:10px 8px 10px 12px;border:0;border-radius:13px 0 0 13px;
 background:#1f6feb;color:#fff;box-shadow:0 3px 12px #1f6feb40;
 font-size:14px;line-height:1.4;font-weight:600;white-space:nowrap;
 touch-action:pan-y;cursor:pointer;
}
#cabinet-app :is(#screen-client,#screen-admin)>.mobile-chat-edge svg{width:16px;height:16px;flex:none}
#cabinet-app :is(#screen-client,#screen-admin)>.mobile-chat-edge[hidden]{display:none!important}
/* An editing field has priority; the existing opened chat supplies its close control. */
#cabinet-app.cabinet-keyboard-viewport :is(#screen-client,#screen-admin)>.mobile-chat-edge{display:none!important}

/* Repeated registrar handoff: content-sized rows, never shared label/input rows. */
#cabinet-app :is(#screen-client,#screen-admin) .domain-recovery-request{
 box-sizing:border-box;min-width:0;max-width:100%;gap:16px;align-content:start;
}
#cabinet-app :is(#screen-client,#screen-admin) .domain-recovery-request>:is(strong,p){
 display:block;min-width:0;max-width:100%;margin:0;line-height:1.5;overflow-wrap:anywhere;
}
#cabinet-app :is(#screen-client,#screen-admin) .domain-recovery-request .stage-workflow-form.domain-registration-form{
 display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;
 align-items:start;align-content:start;gap:12px;margin:0;padding:0;
 box-sizing:border-box;min-width:0;max-width:100%;width:100%;
}
#cabinet-app :is(#screen-client,#screen-admin) .domain-recovery-request .domain-registration-form>.stage-workflow-field{
 display:flex;flex-direction:column;align-items:stretch;gap:8px;
 grid-column:1/-1;box-sizing:border-box;min-width:0;max-width:100%;
 width:100%;height:auto;min-height:0;margin:0;line-height:1.5;overflow-wrap:anywhere;
}
#cabinet-app :is(#screen-client,#screen-admin) .domain-recovery-request .domain-registration-form>.stage-workflow-field>input{
 position:static;box-sizing:border-box;flex:none;width:100%;min-width:0;max-width:100%;
 height:auto;min-height:44px;margin:0;font-size:16px;line-height:1.5;
}
#cabinet-app :is(#screen-client,#screen-admin) .domain-recovery-request .domain-registration-form>:is(p,.stage-workflow-buttons,.status){
 grid-column:1/-1;box-sizing:border-box;min-width:0;max-width:100%;margin:0;
 line-height:1.5;overflow-wrap:anywhere;
}
#cabinet-app :is(#screen-client,#screen-admin) .domain-recovery-request .domain-send-actions{
 display:flex;flex-wrap:wrap;align-items:start;gap:12px;
}
#cabinet-app :is(#screen-client,#screen-admin) .domain-recovery-request .domain-send-actions>.btn{
 flex:0 1 auto;min-width:0;max-width:100%;width:auto;height:auto;min-height:40px;
 white-space:normal;overflow-wrap:anywhere;
}

/* Keep the tab attached to the right, in the lower white margin above navigation. */
@media(max-width:900px){
 #cabinet-app :is(#screen-client,#screen-admin)>.mobile-chat-edge{
  top:auto!important;bottom:calc(var(--cabinet-window-bottom,84px) + 8px)!important;
  flex-direction:column;gap:2px;width:44px;min-width:44px;min-height:52px;
  padding:6px 4px;font-size:12px;line-height:1.4;
 }
}

/* The action card owns the outer frame. The nested resend form has none. */
#cabinet-app :is(#screen-client,#screen-admin) .domain-recovery-request .stage-workflow-form.domain-registration-form{
 border:0;border-radius:0;background:transparent;box-shadow:none;
}

/* One close action per visible partner shell; keep other cabinet roles intact. */
#cabinet-app:has(>#partner-cabinet-root:not([hidden]))>#cabinet-close-btn{display:none!important}
#cabinet-app .partner-header-actions{gap:12px;max-width:100%;min-width:0}
#cabinet-app .partner-header-actions .btn{transform:none!important}
#cabinet-app .partner-chat-edge{position:fixed;right:0;top:auto;bottom:calc(var(--cabinet-window-bottom,72px) + 8px);z-index:6200;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 14px;border:0;border-radius:16px 0 0 16px;background:#1f6feb;color:#fff;font:700 14px Manrope,system-ui,sans-serif;box-shadow:0 4px 16px #1f6feb30;cursor:pointer}
#cabinet-app .partner-chat-panel{position:fixed;z-index:6300;right:16px;top:calc(var(--cabinet-window-top,76px) + 8px);bottom:calc(var(--cabinet-window-bottom,24px) + 8px);width:min(420px,calc(100vw - 32px));min-width:0;min-height:0;display:flex;flex-direction:column;padding:16px;gap:12px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}
#cabinet-app .partner-chat-panel[hidden]{display:none!important}
#cabinet-app .partner-chat-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}
#cabinet-app .partner-chat-panel .support-conversation{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px}
#cabinet-app .partner-chat-panel .support-thread{flex:1;min-height:0;max-height:none;overflow:auto;overflow-wrap:anywhere}
#cabinet-app .partner-chat-panel .msg-form{display:flex;flex-wrap:wrap;gap:12px;flex:none;margin:0}
#cabinet-app .partner-chat-panel textarea{flex:1 1 180px;min-width:0;width:100%;margin:0;font-size:16px;min-height:48px;max-height:100px}
#cabinet-app .partner-chat-panel .support-send-status{flex:0 0 100%;font-size:13px;overflow-wrap:anywhere}
#cabinet-app .partner-chat-panel .support-send-status:empty{display:none}
#cabinet-app .partner-chat-panel .support-telemost{margin:0;flex:none}
@media(max-width:900px){
 #cabinet-app .partner-chat-edge{width:44px;min-height:52px;flex-direction:column;gap:2px;padding:6px 4px;font-size:12px}
 #cabinet-app .partner-chat-panel{right:8px;width:calc(100vw - 16px);padding:12px}
 #cabinet-app .partner-chat-panel .msg-form textarea{flex-basis:120px}
 #cabinet-app .partner-chat-panel .msg-form>.btn{flex:none}
}
#cabinet-app.cabinet-keyboard-viewport .partner-chat-edge{display:none}

#cabinet-app .warranty-review-prompt{display:grid;gap:16px;min-width:0;max-width:100%;box-sizing:border-box;margin:24px 0 0;padding:16px;border:1px solid #b5d9c8;border-radius:16px;background:#f0f9f4;color:var(--ink)}
#cabinet-app .warranty-review-prompt :is(h3,p){margin:0;min-width:0;line-height:1.55;overflow-wrap:anywhere}
#cabinet-app .warranty-review-prompt h3{font-size:18px}
#cabinet-app .warranty-review-prompt>.btn{justify-self:start;max-width:100%;width:auto;min-height:44px;padding:10px 16px;white-space:normal;transform:none}
#cabinet-app .warranty-review-prompt .warranty-review-feedback{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:0;border:0;background:transparent;margin:0}
#cabinet-app .warranty-review-prompt .warranty-review-feedback label{display:grid;gap:8px;min-width:0;margin:0;text-transform:none;letter-spacing:normal}
#cabinet-app .warranty-review-prompt textarea{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-size:16px;margin:0;min-height:96px}
#cabinet-app .warranty-review-prompt .warranty-review-feedback>.btn{justify-self:start;width:auto;min-height:44px;max-width:100%;white-space:normal;padding:10px 16px}

#cabinet-app .administrator-vacations{margin:0 0 24px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:0;max-width:100%;box-sizing:border-box}
#cabinet-app .administrator-vacations>summary{font-weight:700;font-size:16px;min-height:32px;cursor:pointer}
#cabinet-app .administrator-vacations-body{display:grid;gap:24px;padding-top:16px;min-width:0}
#cabinet-app .administrator-vacation-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:16px!important;margin:0;min-width:0;border:1px solid var(--line);border-radius:16px}
#cabinet-app .administrator-vacation-form>label{display:grid;gap:8px;margin:0;text-transform:none;letter-spacing:normal;min-width:0}
#cabinet-app .administrator-vacation-form input[type=date]{font-size:16px;margin:0;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
#cabinet-app .administrator-vacation-form :is(details,p){grid-column:1/-1;margin:0;line-height:1.5;overflow-wrap:anywhere}
#cabinet-app .administrator-vacation-form>.btn{justify-self:start;min-height:44px;width:auto;max-width:100%;white-space:normal;padding:10px 16px;transform:none}
#cabinet-app .vacation-checkbox{display:flex!important;align-items:flex-start;gap:12px!important;text-transform:none;letter-spacing:normal;line-height:1.5;margin:12px 0!important;font-size:14px;min-width:0;overflow-wrap:anywhere}
#cabinet-app .vacation-checkbox input{flex:0 0 18px;margin-top:2px!important}
#cabinet-app .vacation-period-list{display:grid;gap:12px;min-width:0}
#cabinet-app .vacation-period{display:grid;gap:12px;border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}
#cabinet-app .vacation-period>.stage-workflow-buttons{margin:0}
#cabinet-app .vacation-period .btn{min-height:40px;width:auto;max-width:100%;padding:8px 14px}
@media(max-width:760px){#cabinet-app .administrator-vacation-form{grid-template-columns:minmax(0,1fr)}#cabinet-app .administrator-vacations{padding:16px}#cabinet-app .administrator-vacation-form>.btn{grid-column:1/-1}}

/* CABINET_AUTH_VIEWPORT_OWNER_20261019: one fixed root, inner card scroll. */
#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))){
 top:var(--cabinet-auth-root-top,0px)!important;bottom:auto!important;
 height:var(--cabinet-auth-root-height,100dvh)!important;max-height:var(--cabinet-auth-root-height,100dvh)!important;min-height:0!important;
 overflow:hidden!important;overscroll-behavior:none!important;
}

/* CALENDAR_EVENT_ARCHIVE_20261020 */
.calendar-archive-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:16px 0;min-width:0}.calendar-archive-controls .btn{flex:0 1 auto;width:auto!important;height:auto!important;min-height:40px;padding:10px 16px!important;max-width:100%;white-space:normal}.calendar-archive-controls [aria-pressed="true"]{background:#e6efff;border-color:#85aff5;color:#145dba}.calendar-archive-note{font-size:13px;line-height:1.5;color:#59718c;flex-basis:100%;margin:0;overflow-wrap:anywhere}.calendar-archive-month{display:flex;flex-direction:column;gap:8px;max-width:100%;min-width:0}.calendar-archive-month input{box-sizing:border-box;max-width:100%;min-width:0;font-size:16px;padding:10px;border:1px solid #dce5f0;border-radius:10px}

/* CALENDAR_RESTORE_AND_DATE_CREATE_20261020 */
.calendar-day-create{cursor:pointer}.calendar-day-create:hover{background:#eef5ff}.calendar-event-dialog>header{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.calendar-event-dialog>header h3{margin-right:auto;min-width:0}.calendar-event-dialog .calendar-export-side{flex:0 1 auto;width:auto!important;max-width:100%;min-height:40px;padding:10px 16px!important;font-size:14px;white-space:normal}.calendar-event-dialog>header a.calendar-export-side,.calendar-archive-controls button[aria-pressed="true"],.calendar-restore-dialog button[type="submit"],button.calendar-restore-action{background:#1f6feb!important;color:#fff!important;border:1px solid #1f6feb!important;border-radius:12px}.calendar-restore-action{margin-top:16px;max-width:100%;width:auto!important;white-space:normal}.calendar-restore-title{overflow-wrap:anywhere}.calendar-restore-dialog form{display:flex;flex-direction:column;gap:16px;padding:16px;min-width:0}.calendar-restore-dialog label{display:flex;flex-direction:column;gap:8px;min-width:0}.calendar-restore-dialog input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px}.calendar-restore-dialog .calendar-form-actions{display:flex;flex-wrap:wrap;gap:12px}.calendar-restore-dialog .calendar-form-actions button{max-width:100%;white-space:normal}@media(max-width:600px){.calendar-event-dialog .calendar-export-side{order:3;flex-basis:auto;margin-left:auto}.calendar-restore-dialog{box-sizing:border-box;max-width:calc(100vw - 24px);width:calc(100vw - 24px)}}


/* INVITED_AUTH_AND_CALENDAR_ORDER_20261020 */
/* Natural height is bounded by the one measured auth frame, not a cached height. */
#cabinet-app.cabinet-auth-layout-active :is(#screen-login,#screen-new-password)>.auth-card{height:auto!important;max-height:100%!important;scrollbar-gutter:stable;scroll-behavior:auto}
html[data-client-project-entry] #cabinet-app #screen-login>.auth-card{padding:20px;gap:8px;border-radius:18px;overflow-anchor:none}
html[data-client-project-entry] #cabinet-app #screen-login #login-form>.security-trust-note{display:none!important}
html[data-client-project-entry] #cabinet-app #screen-login .brand{font-size:18px!important;line-height:1.3}
html[data-client-project-entry] #cabinet-app #screen-login .auth-card h1{font-size:24px;line-height:1.25;margin:0}
html[data-client-project-entry] #cabinet-app #screen-login #login-subtitle{font-size:14px;line-height:1.4}
html[data-client-project-entry] #cabinet-app #screen-login:has(#login-form>.invitation-login-note) :is(#login-subtitle,p:has(>#login-register-link)){display:none!important}
html[data-client-project-entry] #cabinet-app #screen-login #login-form{text-align:left}
html[data-client-project-entry] #cabinet-app #screen-login #login-form>.invitation-login-note{font-size:13px;line-height:1.45;padding:10px 12px;margin:0 0 12px;border-radius:12px}
html[data-client-project-entry] #cabinet-app #screen-login #login-form>label:not(.hidden){margin-top:12px!important;margin-bottom:8px}
html[data-client-project-entry] #cabinet-app #screen-login #login-form>label[for="login-email"]{margin-top:0!important}
html[data-client-project-entry] #cabinet-app #screen-login :is(input:not([type="checkbox"]),#login-submit){min-height:44px;padding-top:10px;padding-bottom:10px}
html[data-client-project-entry] #cabinet-app #screen-login .consent-row{font-size:12px;line-height:1.45}
html[data-client-project-entry] #cabinet-app #screen-login .auth-card>p.small{margin-top:4px!important;font-size:13px}
html[data-client-project-entry] #cabinet-app #screen-login #login-status:empty{display:none!important}
@media(max-width:400px){html[data-client-project-entry] #cabinet-app #screen-login>.auth-card{padding:16px}}

/* CLIENT_COMMUNITY_AND_CHAT_SEARCH_V103_20261021 */
#cabinet-app .chat-dialog-search{display:flex;align-items:center;gap:8px;margin:0 0 12px;min-width:0;flex:none}
#cabinet-app .chat-dialog-search svg{flex:none;color:#52708d}
#cabinet-app .chat-dialog-search input{min-width:0;width:100%;margin:0}
#cabinet-app .community-conversation{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;padding:0}
#cabinet-app .community-conversation [hidden],#cabinet-app .chat-search-tools [hidden]{display:none!important}
#cabinet-app .community-join{padding:16px;overflow:auto;min-height:0;min-width:0;overscroll-behavior:contain}
#cabinet-app .community-join h3{margin:0 0 12px}
#cabinet-app .community-join p{margin:0 0 16px;overflow-wrap:anywhere}
#cabinet-app .community-join-form{display:grid;gap:16px;max-width:520px}
#cabinet-app .community-join-form label{display:grid;gap:8px;min-width:0}
#cabinet-app .community-join-form input{box-sizing:border-box;max-width:100%;min-width:0;margin:0;font-size:16px}
#cabinet-app .community-join-form button{justify-self:start;width:auto;min-height:40px}
#cabinet-app .community-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex:none;padding:12px 16px}
#cabinet-app .community-tools button,#cabinet-app .community-older{width:auto;min-height:40px;align-self:flex-start;flex:none}
#cabinet-app .community-thread{flex:1 1 0;min-height:60px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;overflow-anchor:none;padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
#cabinet-app .community-thread .bubble{max-width:min(88%,720px);min-width:0;overflow-wrap:anywhere;white-space:normal;flex:none}
#cabinet-app .community-thread .bubble-me{align-self:flex-end}
#cabinet-app .community-author{display:block;margin-bottom:6px;font-size:14px}
#cabinet-app .community-message-body{white-space:pre-wrap;overflow-wrap:anywhere}
#cabinet-app .community-form{flex:none;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px;min-width:0;margin:0}
#cabinet-app .community-form textarea{min-width:0;width:0;flex:1 1 160px;box-sizing:border-box;font-size:16px;min-height:48px;max-height:100px;resize:none;margin:0}
#cabinet-app .community-form button{flex:none;width:auto;min-height:44px;margin:0}
#cabinet-app .community-status{flex:1 0 100%;font-size:14px;margin:0;overflow-wrap:anywhere}
#cabinet-app .community-status:empty{display:none}
#cabinet-app .chat-search-tools{flex:none;min-width:0;padding:8px 12px;box-sizing:border-box}
#cabinet-app .chat-search-toggle{display:inline-flex;align-items:center;gap:8px;width:auto;min-height:36px;margin:0}
#cabinet-app .chat-search-panel{padding:12px 0 0;min-width:0}
#cabinet-app .chat-search-form{display:flex;gap:12px;margin:0;min-width:0;align-items:center}
#cabinet-app .chat-search-form input{font-size:16px;min-width:0;width:0;flex:1 1 0;box-sizing:border-box;margin:0}
#cabinet-app .chat-search-form button{width:auto;flex:none;min-height:40px;margin:0}
#cabinet-app .chat-search-results{max-height:min(180px,22dvh);overflow:auto;overscroll-behavior:contain;min-width:0}
#cabinet-app .chat-search-result{padding:12px;background:white;border:1px solid var(--line);border-radius:12px;margin:8px 0;overflow-wrap:anywhere;white-space:pre-wrap}
#cabinet-app .chat-search-result p{margin:4px 0 0}
#cabinet-app .community-conversation.messenger-conversation>.community-form.msg-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;margin:0!important;padding:12px!important}
#cabinet-app .community-conversation.messenger-conversation>.community-form.msg-form textarea{grid-column:1;grid-row:1;width:100%!important;min-width:0;max-height:100px!important}
#cabinet-app .community-conversation.messenger-conversation>.community-form.msg-form>button[type=submit]{grid-column:2;grid-row:1}
#cabinet-app .community-form .community-status{grid-column:1/-1}
#cabinet-app .community-conversation:has(.chat-search-panel:not([hidden]))>.community-thread,
#cabinet-app .community-conversation:has(.chat-search-panel:not([hidden]))>.community-older,
#cabinet-app .community-conversation:has(.chat-search-panel:not([hidden]))>.community-tools{display:none!important}
#cabinet-app .community-conversation>.chat-search-tools:has(.chat-search-panel:not([hidden])){flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#cabinet-app .community-conversation .chat-search-panel:not([hidden]){display:flex;flex-direction:column;min-height:0;flex:1 1 0}
#cabinet-app .community-conversation .chat-search-form{flex:none}
#cabinet-app .community-conversation .chat-search-results{flex:1 1 0;min-height:0;max-height:none}
#cabinet-app .messenger-conversation:has(.chat-search-panel:not([hidden]))>.thread,
#cabinet-app .messenger-conversation:has(.chat-search-panel:not([hidden]))>.support-telemost{display:none!important}
#cabinet-app .messenger-conversation>.chat-search-tools:has(.chat-search-panel:not([hidden])){flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#cabinet-app .messenger-conversation .chat-search-panel:not([hidden]){display:flex;flex-direction:column;min-height:0;flex:1 1 0}
#cabinet-app .messenger-conversation .chat-search-results{flex:1 1 0;min-height:0;max-height:none}
@media(max-width:600px){
 #cabinet-app .community-tools{padding:8px 12px;gap:8px}
 #cabinet-app .community-tools .small{font-size:12px}
 #cabinet-app .community-tools button{min-height:36px;font-size:13px}
 #cabinet-app .community-join{padding:16px}
 #cabinet-app .community-thread{padding:12px}
 #cabinet-app .community-form{gap:8px;padding:8px}
 #cabinet-app .community-conversation.messenger-conversation>.community-form.msg-form{gap:8px!important;padding:8px!important}
 #cabinet-app .community-form button{font-size:13px;padding:8px 12px}
 #cabinet-app .chat-search-toggle{min-height:36px;font-size:13px}
}

/* CHAT_SEARCH_HEADER_REFINEMENT_V103R2_20261021 */
#cabinet-app .chat-search-tools[hidden]{display:none!important}
#cabinet-app .messenger-header>.chat-search-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;padding:8px;margin:0;border-radius:50%}
#cabinet-app .messenger-header>strong{flex:1;min-width:0;overflow-wrap:anywhere}
#cabinet-app mark.chat-search-match{background:#fff09c;color:#172c3d;border-radius:3px;padding:0 1px;box-decoration-break:clone}
@media(max-width:760px){#cabinet-app .chat-dialog-search{margin-bottom:14px}#cabinet-app .messenger-header.has-chat-search{grid-template-columns:repeat(4,minmax(0,1fr))}#cabinet-app .messenger-header.has-chat-search>strong{grid-column:1/-1;grid-row:1}#cabinet-app .messenger-header.has-chat-search>.btn:last-child{grid-column:auto}#cabinet-app .messenger-header>.chat-search-toggle{justify-self:center;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;padding:6px}}

/* ADMIN_NEWS_BROADCAST_V104_20261021 */
#cabinet-app .administrator-news-form{display:grid;gap:16px;min-width:0}
#cabinet-app .administrator-news-form label{display:grid;gap:8px;min-width:0}
#cabinet-app .administrator-news-form textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box;font-size:16px;min-height:120px;resize:vertical;margin:0}
#cabinet-app .administrator-news-form button{justify-self:start;width:auto;max-width:100%;white-space:normal;min-height:40px}
#cabinet-app .administrator-news-preview{padding:16px;border:1px solid var(--line);border-radius:16px;min-width:0;overflow-wrap:anywhere;background:#fff}
#cabinet-app .administrator-news-preview[hidden]{display:none!important}
#cabinet-app .administrator-news-preview>p:not(.small),#cabinet-app .administrator-news-sent p{white-space:pre-wrap;overflow-wrap:anywhere}
#cabinet-app .administrator-news-history{margin-top:16px}
#cabinet-app .administrator-news-sent{padding:12px 0;border-top:1px solid var(--line);min-width:0}

.client-contact-email{overflow-wrap:anywhere}#f-contact,#lf-contact{font-size:16px;min-width:0;max-width:100%;box-sizing:border-box}

/* MOBILE_FONT_COMMON_SPLIT_20261023: original fallback faces retained. */
@font-face{
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:url(/assets/fonts/common-598eb5f881cc9be52670.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:url(/assets/fonts/common-f65fbe4f77e3d52b793a.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:url(/assets/fonts/common-7474ce9715731884dbb2.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src:url(/assets/fonts/common-62fbf3b92fd5608e3526.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:url(/assets/fonts/common-00e704a9fe7081752dda.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:url(/assets/fonts/common-33027d80712be7828d5f.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:url(/assets/fonts/common-984659dfeac72134a7a8.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:url(/assets/fonts/common-e4e6facd9c02f0e9dbfd.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:url(/assets/fonts/common-1d2cf67554e84046c460.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:url(/assets/fonts/common-89ccb0249eea79581364.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:url(/assets/fonts/common-b359304250826b2ba329.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:url(/assets/fonts/common-5fd90f43aaf46c4e1370.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}
@font-face{
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src:url(/assets/fonts/common-b6a48a26b675ee99ea7d.woff2) format('woff2');

unicode-range:U+0-FF,U+400-52F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-2BFF;}

/* MOBILE_CHAT_SEARCH_HEADER_V105_20261023 */
#cabinet-app .chat-search-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;grid-column:1/-1;flex:none;padding:8px 12px}
#cabinet-app .chat-search-header>strong{min-width:0;overflow-wrap:anywhere}
#cabinet-app .has-chat-search>.chat-search-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;padding:8px;margin:0;border-radius:50%}
#cabinet-app .chat-search-tools{width:100%;max-width:100%;grid-column:1/-1;align-self:stretch}
#cabinet-app .chat-search-actions{display:contents}
#cabinet-app .chat-search-host>.chat-search-header[hidden]{display:none!important}
#cabinet-app .project-help-chat .chat-search-host:has(>.chat-search-tools>.chat-search-panel:not([hidden]))>.thread{display:none!important}
#cabinet-app .project-help-chat .chat-search-host>.chat-search-tools:has(>.chat-search-panel:not([hidden])){display:flex;flex-direction:column;flex:1 1 0!important;min-height:0;overflow:hidden}
#cabinet-app .project-help-chat .chat-search-panel:not([hidden]){display:flex;flex-direction:column;flex:1 1 0;min-height:0}
#cabinet-app .project-help-chat .chat-search-form,#cabinet-app .project-help-chat .chat-search-panel>[role=status]{flex:none}
#cabinet-app .project-help-chat .chat-search-results{flex:1 1 0;min-height:0;max-height:none}
@media(max-width:760px){
 #cabinet-app#cabinet-app .messenger-header.has-chat-search{display:grid;grid-template-columns:auto minmax(0,1fr) 40px;align-items:center;gap:8px;min-width:0;position:relative;padding-right:12px}
 #cabinet-app#cabinet-app .messenger-header.has-chat-search>.chat-search-title{min-width:0;overflow-wrap:anywhere;grid-column:2;grid-row:1}
 #cabinet-app#cabinet-app .messenger-header.has-chat-search>.messenger-back{grid-column:1;grid-row:1;width:auto}
 #cabinet-app#cabinet-app .messenger-header.has-chat-search>.chat-search-toggle{grid-column:3;grid-row:1;justify-self:end;align-self:start;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;position:static;transform:none}
 #cabinet-app#cabinet-app .messenger-header.has-chat-search>.chat-search-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;grid-column:1/-1;grid-row:2;min-width:0}
 #cabinet-app#cabinet-app .chat-search-actions>.btn{width:auto;max-width:100%;margin:0}
 #cabinet-app .mobile-chat-head.has-chat-search,#cabinet-app .partner-chat-panel>header.has-chat-search{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
 #cabinet-app .mobile-chat-head.has-chat-search>strong,#cabinet-app .partner-chat-panel>header.has-chat-search>strong{flex:1 1 0;min-width:0}
 #cabinet-app .mobile-chat-head.has-chat-search>.chat-search-toggle,#cabinet-app .partner-chat-panel>header.has-chat-search>.chat-search-toggle{margin-left:auto;order:2;position:static;transform:none}
 #cabinet-app .chat-search-host>.chat-search-tools{box-sizing:border-box;min-width:0;width:100%}
 #cabinet-app .chat-search-form{gap:8px;width:100%}
 #cabinet-app .chat-search-results{width:100%;box-sizing:border-box}
 #cabinet-app .chat-search-result{box-sizing:border-box;max-width:100%}
}

/* AUTH_STABLE_VIEWPORT_20261023 */
/* Hide public decorations throughout authentication, including Safari panning.
   Open legal dialogs remain accessible from the separate consent link. */
html:has(#cabinet-app:not(.hidden)>:is(#screen-login,#screen-new-password):not(.hidden)) body>:not(#cabinet-app):not(dialog[open]){visibility:hidden!important;pointer-events:none!important}
#cabinet-app .auth-viewport-anchor{position:fixed!important;top:0!important;left:0!important;width:0!important;height:0!important;padding:0!important;margin:0!important;border:0!important;visibility:hidden!important;pointer-events:none!important}
#cabinet-app#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))){position:fixed!important;left:0!important;right:0!important;width:100%!important;transform:none!important;transition:none!important;animation:none!important;background:#f1f4f9!important;isolation:isolate;overflow-anchor:none}
#cabinet-app#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))) :is(#screen-login,#screen-new-password){transform:none!important;transition:none!important;animation:none!important;overflow-anchor:none}
#cabinet-app#cabinet-app.cabinet-auth-layout-active :is(#screen-login,#screen-new-password)>.auth-card{height:auto!important;max-height:100%!important;scroll-behavior:auto!important;overflow-anchor:none!important;-webkit-overflow-scrolling:touch}

/* MOBILE_CHAT_SINGLE_ROW_20261023 */
#cabinet-app .calendar-event-export-actions{display:flex;justify-content:flex-end}
#cabinet-app .calendar-event-export-actions>a.btn.btn-primary{background:#1f6feb!important;color:#fff!important;border-color:#1f6feb!important;text-decoration:none}
@media(max-width:760px){
 #cabinet-app#cabinet-app .messenger-header.has-chat-search{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:4px!important;padding:8px!important;min-width:0!important}
 #cabinet-app#cabinet-app .messenger-header.has-chat-search>.messenger-back{flex:0 0 28px!important;width:28px!important;min-width:28px!important;padding:4px!important;font-size:0!important;line-height:0!important;min-height:32px!important}
 #cabinet-app#cabinet-app .messenger-header.has-chat-search>.messenger-back svg{font-size:16px!important;width:16px!important;height:16px!important}
 #cabinet-app#cabinet-app .messenger-header.has-chat-search>.chat-search-title{flex:1 1 0!important;min-width:0!important;max-width:none!important;overflow:hidden!important;white-space:nowrap!important}
 #cabinet-app#cabinet-app .messenger-header.has-chat-search>.chat-search-title>strong{display:block!important;font-size:12px!important;line-height:1.4!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
 #cabinet-app#cabinet-app .messenger-header.has-chat-search>.chat-search-title>.small{display:none!important}
 #cabinet-app#cabinet-app .messenger-header.has-chat-search>.chat-search-actions{display:flex!important;flex:0 0 auto!important;align-items:center!important;flex-wrap:nowrap!important;gap:4px!important;min-width:0!important;margin:0!important}
 #cabinet-app#cabinet-app .chat-search-actions>.btn{font-size:11px!important;line-height:1.2!important;min-height:32px!important;width:auto!important;max-width:100px!important;padding:5px 6px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:0!important}
 #cabinet-app#cabinet-app .messenger-header.has-chat-search>.chat-search-toggle{flex:0 0 32px!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;align-self:center!important;padding:6px!important;position:static!important;transform:none!important}
 #cabinet-app#cabinet-app .mobile-chat-head.has-chat-search,#cabinet-app#cabinet-app .partner-chat-panel>header.has-chat-search{flex-wrap:nowrap!important;gap:4px!important}
 #cabinet-app#cabinet-app .mobile-chat-head.has-chat-search>strong,#cabinet-app#cabinet-app .partner-chat-panel>header.has-chat-search>strong{font-size:12px!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
 #cabinet-app#cabinet-app :is(.mobile-chat-head,.partner-chat-panel>header).has-chat-search>.chat-search-toggle{flex:0 0 32px!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;padding:6px!important}
}

/* AUTH_DOCUMENT_VIEWPORT_20261023 */
#cabinet-app#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))){position:absolute!important;bottom:auto!important}
html:has(#cabinet-app:not(.hidden)>:is(#screen-login,#screen-new-password):not(.hidden)) body{overflow:clip!important}
#cabinet-app :is(#screen-login,#screen-new-password) .security-trust-note{display:none!important}

/* AUTH_WHOLE_CARD_PAGE_20261023: never crop/resize the card contents. */
#cabinet-app#cabinet-app:is(.cabinet-auth-layout-active,:has(>#screen-login:not(.hidden)),:has(>#screen-new-password:not(.hidden))){overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scroll-behavior:auto!important;scroll-padding-top:106px;scroll-padding-bottom:72px}
#cabinet-app#cabinet-app .auth-page-controls{position:sticky;top:0;height:70px;min-height:70px;z-index:100;background:#f1f4f9;pointer-events:none}
#cabinet-app#cabinet-app .auth-page-controls #cabinet-close-btn{position:absolute!important;top:14px!important;right:16px!important;pointer-events:auto}
#cabinet-app#cabinet-app.cabinet-auth-layout-active :is(#screen-login,#screen-new-password):not(.hidden){position:static!important;display:block!important;top:auto!important;bottom:auto!important;height:auto!important;max-height:none!important;min-height:0!important;padding:0 16px calc(72px + var(--auth-keyboard-gap,0px))!important;overflow:visible!important}
#cabinet-app#cabinet-app.cabinet-auth-layout-active :is(#screen-login,#screen-new-password)>.auth-card{display:flex!important;width:min(420px,100%)!important;height:auto!important;max-height:none!important;overflow:visible!important;margin:0 auto!important;flex:none!important;scrollbar-gutter:auto!important}
@media(max-width:760px){
 #cabinet-app#cabinet-app.cabinet-auth-layout-active :is(#screen-login,#screen-new-password)>.auth-card{padding:20px!important;gap:8px!important}
 #cabinet-app.cabinet-auth-layout-active :is(#screen-login,#screen-new-password) .brand{font-size:18px!important;line-height:1.3!important}
 #cabinet-app.cabinet-auth-layout-active :is(#screen-login,#screen-new-password) h1{font-size:24px!important;line-height:1.25!important;margin:0!important}
 #cabinet-app.cabinet-auth-layout-active #login-subtitle{font-size:14px!important;line-height:1.4!important}
 #cabinet-app.cabinet-auth-layout-active .auth-card>p.small{margin-top:8px!important;margin-bottom:0!important}
 #cabinet-app#cabinet-app.cabinet-auth-layout-active #login-status:empty,#cabinet-app#cabinet-app.cabinet-auth-layout-active #login-status.hidden{display:none!important}
}

/* COMMUNITY_ADMIN_MEMBERS_20261023 */
#cabinet-app .community-members-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-width:calc(100vw - 24px);position:fixed;top:calc(var(--cabinet-window-top,56px) + 12px);bottom:calc(var(--cabinet-window-bottom,64px) + 12px);height:max-content;max-height:min(calc(var(--cabinet-window-height,80dvh) - 24px),calc(100dvh - var(--cabinet-window-top,56px) - var(--cabinet-window-bottom,64px) - 24px));margin:auto;padding:16px;border:1px solid #d9e2ee;border-radius:18px;color:#172c3d;background:white;overflow-x:hidden;overflow-y:auto}
#cabinet-app .community-members-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;background:white;z-index:1}
#cabinet-app .community-members-dialog h2{font-size:18px;margin:0;min-width:0}
#cabinet-app .community-members-dialog article{padding:12px 0;border-bottom:1px solid #d9e2ee;overflow-wrap:anywhere}
#cabinet-app .community-members-dialog article p{margin:6px 0 0}
#cabinet-app .community-members-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px!important;min-width:32px!important;max-width:32px!important;padding:6px!important}
@media(max-width:760px){#cabinet-app#cabinet-app .messenger-header.has-chat-search>strong.chat-search-title{font-size:12px!important;text-overflow:ellipsis!important}}
