/* Final CRM shape layer. Load after component styles, including avatar styles.
   Intentionally no universal selector: native choice controls, range/progress,
   spinners, SVG geometry and decorative motion keep their existing behavior. */
body.knyaz-v5 :is(
  button,.button,a.nav-link,[role="button"],[role="tab"],[role="menuitem"],
  input:not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="color"]),
  select,textarea,[contenteditable="true"],[role="combobox"],
  form,fieldset,dialog,[role="dialog"],.modal-header,.modal-body,
  .knyaz-form-confirm,.kn-multipicker,.kn-picker-list label,
  .panel,.stat,.badge,.status-line,.draft-state,.facts,.flow-dot,
  .lead-card,.stage,.data-table,.user-card,.work-metric,.work-item,
  .task-item,.tk-card,.tk-state,.tk-priority,.tk-detail,.tk-history,
  .tk-toolbar,.tk-guide,.tk-dashboard,.calendar-day,.calendar-event,
  .calendar-grid-panel,.calendar-agenda,.calendar-filters,
  .mail-workspace,.mail-row,.mail-preview,.mail-frame,.attachment,
  .execution-panel,.execution-card,.cx-dashboard,.cx-notification,
  .cx-offer,.cx-hot,.cx-document,.cx-approval,.rel-card,
  .refine-reference,.refine-passport-materials,.refine-stage-detail,
  .view-head,.login-panel,.login-dance,.dance-chip,.empty,
  .ms-layout,.ms-sidebar,.ms-conversation,.ms-chat-header,
  .ms-room,.ms-bubble,.ms-unread,.ms-compose,.ms-compose-reply,
  .ms-compose-context,.ms-compose-files>span,.ms-file,.ms-photo,
  .ms-day>span,.ms-overlay,.ms-overlay-body,.ms-preview-text,
  .ms-preview-image,.ms-pdf-reader,.ms-avatar-editor,.ms-avatar-preview,
  .avatar,.ms-avatar,.ms-person-avatar,.toast,#toast
){border-radius:0!important}

/* Browser-rendered file selection is a button too; preserve its native action. */
body.knyaz-v5 input[type="file"]::file-selector-button{border-radius:0!important}

/* Square image frames, without changing avatar targets, sizes or image data. */
body.knyaz-v5 :is(.avatar,.ms-avatar,.ms-avatar-preview)>img,
body.knyaz-v5 :is(img.avatar,img.ms-avatar,img.ms-person-avatar),
body.knyaz-v5 :is(.empty,.login-dance,.dance-chip,.stage>header)>img{
  border-radius:0!important;
}
body.knyaz-v5 :is(.avatar,.ms-avatar,.ms-avatar-preview)>img{
  object-fit:cover;
  object-position:center;
}
/* Legacy topbar initials were 34×36; retain the width and make the frame square. */
body.knyaz-v5 .topbar .avatar{height:34px!important;aspect-ratio:1}

/* The historical timeline marker is a square; icon internals are untouched. */
body.knyaz-v5 .history article::before{border-radius:0!important}
