/* Таппси · «Авторская графика» · 2026-10-06
 * Visual skin for the existing cabinet, loaded after its base CSS.
 * No content, ordering, spacing, type sizes, action or routing changes.
 * Layer geometry belongs to the separate navigation stylesheet.
 * Semantic status colours, chart data and the user's theme remain intact.
 */
:root {
  --author-paper: #fff;
  --author-pencil: #83a9c8;
  --author-doodle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='8' viewBox='0 0 38 8'%3E%3Cpath d='M2 5C11 2 22 6 35 3M27 7l7-1' fill='none' stroke='%2383a9c8' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E");
}
:root:not([data-theme]), :root[data-theme="voda"] {
  --line: #2f6fb0;
  --acc: #2f6fb0;
  --ink: #1e2a36;
  --mut: #55636f;
  --bg: #f4f7fa;
  --panel: #edf4fa;
  --edge: #d3e2f1;
  --soft: #f7f9fc;
}
:root[data-theme="grafit"] {
  --author-pencil: #8c969e;
  --author-doodle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='8' viewBox='0 0 38 8'%3E%3Cpath d='M2 5C11 2 22 6 35 3M27 7l7-1' fill='none' stroke='%238c969e' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E");
}
:root[data-theme="sage"] {
  --author-pencil: #8fa899;
  --author-doodle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='8' viewBox='0 0 38 8'%3E%3Cpath d='M2 5C11 2 22 6 35 3M27 7l7-1' fill='none' stroke='%238fa899' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Slightly irregular outlines keep the original rectangular content area.
 * The 38×8 line drawing lives wholly inside existing bottom padding. */
body .panel {
  border-color: var(--edge);
  border-radius: 17px 15px 18px 14px / 15px 18px 14px 17px;
  box-shadow: none;
}
body .panel.pad {
  background-image: var(--author-doodle);
  background-repeat: no-repeat;
  background-size: 38px 8px;
  background-position: right 13px bottom 2px;
}
body .tile {
  border-radius: 15px 18px 14px 17px / 17px 14px 18px 15px;
  border-color: var(--edge);
  box-shadow: none;
}
body .tile:nth-child(even) {
  border-radius: 18px 14px 17px 15px / 14px 17px 15px 18px;
}
body .row .ravatar {
  background-color: var(--author-paper);
  color: var(--line);
  border-color: var(--author-pencil);
  border-radius: 44% 56% 47% 53% / 58% 42% 58% 42%;
}
body .row:nth-child(even) .ravatar {
  border-radius: 54% 46% 55% 45% / 44% 56% 46% 54%;
}

/* The existing line icons remain recognisable, with a consistent pen finish. */
body .ricon svg, body .icon40 svg, body .icon38 svg, body .icon32 svg {
  stroke-linecap: round;
  stroke-linejoin: round;
}
body .icon40, body .icon38 {
  border-radius: 12px 14px 11px 13px;
}
body .icon32 { border-radius: 9px 11px 8px 10px; }
body .hm-video-help {
  background-color: var(--author-paper);
  border-color: var(--author-pencil);
  border-radius: 47% 53% 44% 56% / 54% 46% 55% 45%;
}

/* Forms, scheduling, client details, settings and onboarding share these
 * existing components. No override of error/disabled/selected colours. */
body .input, body .textarea, body .slugwrap {
  border-color: var(--edge);
  border-radius: 12px 14px 11px 13px;
}
/* Preserve the single seamless input inside the slug prefix wrapper. */
body .slugwrap .input { border-radius: 0; }
body .input:focus, body .textarea:focus { border-color: var(--line); }
body .btn.white { border-color: var(--edge); box-shadow: none; }
body .btn.primary, body .btn.white {
  border-radius: 13px 15px 12px 14px;
}
body .btn.small.white, body .btn.mini { border-radius: 10px 12px 9px 11px; }
body .chip { border-radius: 22px 25px 21px 24px; }
body .seg { border-radius: 13px 11px 14px 12px; }
body .seg > .on { border-radius: 10px 12px 9px 11px; }
body .tabs button.on { border-bottom-color: var(--acc); }
body .options > *, body .daychips > * {
  border-radius: 12px 14px 11px 13px;
}
body .cal .c.today { border-radius: 42% 48% 43% 46%; }
body .cl-board-preview { border-radius: 10px 12px 9px 11px; }
body .legacy .card, body .pc-svc, body .gcard {
  border-color: var(--edge);
  border-radius: 14px 17px 13px 16px;
}

/* Small underline for the current handouts entry; its label and hit area
 * retain their existing dimensions, and no new illustration slot is added. */
body .hm-chips [data-mat="handouts"] {
  background-image: var(--author-doodle);
  background-repeat: no-repeat;
  background-size: 28px 5px;
  background-position: center bottom 2px;
}

/* Focus is drawn outside the box and does not change its measured size. */
body :is(button, a, input, textarea, select, [tabindex="0"]):focus-visible {
  outline: 2px solid var(--line);
  outline-offset: 3px;
}
@media (hover: hover) {
  body .btn.white:not(:disabled):hover,
  body .chip:not(.on):not(:disabled):hover {
    border-color: var(--author-pencil);
  }
}
@media (forced-colors: active) {
  body .panel.pad, body .hm-chips [data-mat="handouts"] { background-image: none; }
}

/* Active navigation keeps a stable footprint and an explicit shape cue. */
body .tabbar{gap:4px;padding-left:6px;padding-right:6px}
body .tabbar button{position:relative;min-height:46px;padding:6px 2px;border:1.5px solid transparent;border-radius:12px;justify-content:center}
body .tabbar button.on{background:var(--panel,#edf4fa);border-color:var(--acc);color:var(--acc);box-shadow:inset 0 -3px 0 var(--acc)}
body .tabbar button.on svg{stroke-width:2.3}
body .tabbar button.on .lbl{font-weight:700}
body .tabbar button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
@media(max-width:380px){#sch_add{max-width:150px;line-height:1.25;text-align:center}}
