/* Shared presentation only: routes, form values and Yii handlers stay intact. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 0; }
#page, #site-main, #content, .grid-view, .form { min-width: 0; }
body:not(.dsvl-home) #site-main { max-width: 1600px; }
#site-main > .span-19, #site-main > .span-5 { width: 100%; margin: 0; float: none; }
#sidebar { padding-top: 24px; }
#sidebar .portlet { border: 0; border-top: 1px solid #e0e3e7; border-radius: 0; }
#sidebar .portlet-decoration { background: transparent; border: 0; padding: 16px 0 8px; }
#sidebar .portlet-content { padding: 0; }
#sidebar .operations { display: block; margin: 0; padding: 0; list-style: none; }
#sidebar .operations li { border: 0; border-bottom: 1px solid #e0e3e7; padding: 0; }
#sidebar .operations li:last-child { border: 0; }
#sidebar .operations li a { display: block; padding: 12px 0; }
#mainmenu { height: auto !important; min-height: 64px; }
#mainmenu > ul, .dsvl-home #mainmenu > ul { display: flex; flex-wrap: wrap; gap: 4px 24px; padding: 12px 24px; }
#mainmenu li { margin: 0; min-width: 0; }
.dsvl-home #mainmenu { align-items: center; }

body .dsvl-icon-control,
body #mainmenu ul li a.dsvl-icon-control,
body .operations li a.dsvl-icon-control,
body.dsvl-home a.dsvl-button.dsvl-icon-control,
body .grid-view .button-column a.dsvl-icon-control {
  display: inline-flex; position: relative; align-items: center; justify-content: center;
  width: 44px; min-width: 44px; max-width: 44px; height: 44px; min-height: 44px;
  flex: 0 0 44px; padding: 10px; margin: 0 4px 0 0; vertical-align: middle;
  border: 1px solid #bfc7ce; border-radius: 4px; background-color: #fff;
  color: #20262d; text-decoration: none; line-height: 1; cursor: pointer;
  background-repeat: no-repeat; background-position: center; background-size: 22px 22px;
}
body .dsvl-icon-control:hover, body #mainmenu a.dsvl-icon-control:hover {
  background-color: #edf2f6; border-color: #7b8b99; text-decoration: none;
}
body #mainmenu li.active a.dsvl-icon-control,
body .dsvl-icon-control[aria-current=page] { background-color: #fff0f1; border-color: #d72235; }
body .dsvl-icon-control[data-icon=trash-2], body .grid-view .button-column a.dsvl-icon-control[data-icon=trash-2] { background-color: #fff2f3; border-color: #e8abb1; }
body .dsvl-icon-control[data-icon=pencil], body .dsvl-icon-control[data-icon=save], body .grid-view .button-column a.dsvl-icon-control[data-icon=pencil] { background-color: #eef8f1; border-color: #a7c9b0; }
body .dsvl-icon-control[data-icon=eye], body .grid-view .button-column a.dsvl-icon-control[data-icon=eye] { background-color: #eef6fc; border-color: #b7cde0; }
body .dsvl-icon-control:focus-visible { outline: 3px solid #2b78d2; outline-offset: 2px; }
body .dsvl-icon-control:disabled { opacity: .45; cursor: not-allowed; }
body .dsvl-icon-control > img { display: block; width: 22px; height: 22px; max-width: none; border: 0; }
body .dsvl-icon-control > :not(.dsvl-control-icon) { display: none !important; }
body input.dsvl-icon-control { color: transparent; font-size: 0; text-indent: 0; }
body #mainmenu > ul { margin: 0 auto; }
body #mainmenu ul li a.dsvl-login-control {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 10px 16px; border: 1px solid #bfc7ce;
  border-radius: 4px; background: #fff; color: #20262d;
}
.dsvl-control-tooltip {
  position: fixed; z-index: 10000; max-width: 260px; padding: 7px 10px;
  background: #20262d; color: #fff; border-radius: 4px;
  font: 13px/1.4 Arial, Helvetica, sans-serif; pointer-events: none;
  overflow-wrap: anywhere;
}
.dsvl-control-tooltip[hidden] { display: none; }
.dsvl-table-scroll, .client-grid-scroll {
  display: block; width: 100%; max-width: 100%; min-width: 0;
  overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
}
.dsvl-table-scroll:focus-visible { outline: 2px solid #2b78d2; outline-offset: 2px; }
body .grid-view table.items { width: 100%; min-width: var(--dsvl-table-width, 760px); border-collapse: collapse; border: 1px solid #e0e3e7; }
body .grid-view table.items th, body .grid-view table.items td {
  padding: 10px 12px; font: 14px/1.45 Arial, Helvetica, sans-serif;
  color: #20262d; border: 0; border-bottom: 1px solid #e0e3e7;
  vertical-align: middle; white-space: normal; word-break: normal; overflow-wrap: normal;
}
body .grid-view table.items th { background: #f1f3f5; color: #525e69; font-weight: 700; }
body .grid-view table.items th a { color: #20262d; }
body .grid-view table.items tr.odd { background: #fff; }
body .grid-view table.items tr.even { background: #f7f9fa; }
body .grid-view table.items tbody tr:hover { background: #edf2f6; }
body .grid-view table.items .button-column { width: var(--dsvl-actions-width, 166px); min-width: var(--dsvl-actions-width, 166px); white-space: nowrap; }
body .grid-view .filters input, body .grid-view .filters select {
  width: 100%; max-width: 100%; min-width: 0; min-height: 38px;
  padding: 6px; border: 1px solid #b9c0c9; border-radius: 4px; font-size: 16px;
}
body .grid-view .summary { margin: 12px 0; color: #616974; font-size: 14px; }
body .grid-view .pager { max-width: 100%; margin: 20px 0 0; padding-bottom: 4px; text-align: left; overflow-x: auto; -webkit-overflow-scrolling: touch; }
body .grid-view .pager ul.yiiPager { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center; width: max-content; max-width: none; gap: 6px; margin: 10px 0 0; padding: 0; font: 14px/1.4 Arial, Helvetica, sans-serif; }
body .grid-view .pager ul.yiiPager li { display: block; flex: 0 0 auto; float: none; width: auto; margin: 0; padding: 0; }
body ul.yiiPager li a { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; height: 44px; padding: 8px; border: 1px solid #bfc7ce; border-radius: 4px; color: #20262d; background: #fff; }
body ul.yiiPager .selected a { color: #fff; background: #d72235; border-color: #d72235; }
body ul.yiiPager .hidden a { color: #8d969e; background: #f5f6f7; }
body table.detail-view { table-layout: fixed; width: 100%; }
body table.detail-view th { width: 35%; }
body table.detail-view th, body table.detail-view td { padding: 10px 12px; font-size: 14px; overflow-wrap: anywhere; }
body div.form { max-width: 840px; }
body div.form .buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body div.form .row { max-width: 100%; }
body input:not([type=checkbox]):not([type=radio]):not([type=hidden]), body select, body textarea { max-width: 100%; }
body .login-panel input[type=submit].dsvl-icon-control { width: 44px; }
@media (max-width: 760px) {
  body #site-main { padding: 24px 16px 32px; }
  body h1 { font-size: 26px; }
  body .brand-header { padding: 16px; }
  body #mainmenu > ul, body.dsvl-home.dsvl-public-language #mainmenu > ul { display: flex; width: 100%; gap: 4px 16px; padding: 10px 16px; }
  body.dsvl-home.dsvl-public-language #mainmenu { padding: 8px 0; gap: 4px; }
  body.dsvl-home .dsvl-language-switch { padding: 0 16px; }
  body .grid-view table.items th, body .grid-view table.items td { padding: 10px 8px; }
  body table.detail-view th { width: 42%; }
  body .footer-inner { display: block; }
  body .footer-inner > span { display: block; margin-bottom: 8px; }
  body .cabinet-title { align-items: flex-start; }
  body .balance-band { grid-template-columns: 1fr; }
  body div.form input[type=text], body div.form input[type=password], body div.form select, body div.form textarea { font-size: 16px; }
}
@media print {
  .dsvl-table-scroll, .client-grid-scroll { overflow: visible; }
  body .grid-view table.items { min-width: 0; }
  .dsvl-control-tooltip { display: none; }
}
