/*!
 * Pico.css v1.2.1 (https://picocss.com)
 * Copyright 2020 - Licensed under MIT
 *
 * Slim version example
 * You can export only the modules you need
 */:root{--text-font:system-ui, -apple-system, "Segoe UI", "Roboto", "Ubuntu", "Cantarell", "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--titles-font:var(--text-font);--code-font:"Menlo", "Consolas", "Roboto Mono", "Ubuntu Monospace", "Noto Mono", "Oxygen Mono", "Liberation Mono", monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--line-height:1.5;--text-weight:400;--titles-weight:700;--form-element-weight:var(--text-weight);--buttons-weight:var(--text-weight);--code-weight:var(--text-weight);
 --base-font-xs:13px;--base-font-sm:14px;--base-font-md:15px;--base-font-lg:16px;--base-font-xl:17px;--h1-size:1.75rem;--h2-size:1.5rem;--h3-size:1.25rem;--h4-size:1rem;--h5-size:0.875rem;--h6-size:0.75rem;
 --block-round:.25rem;--form-element-border-width:1px;--form-element-outline-width:3px;--checkbox-radio-border-width:2px;--switch-border-width:3px;--form-element-spacing-vertical:.75rem;--form-element-spacing-horizontal:1rem;--button-round:var(--block-round);--button-border-width:var(--form-element-border-width);--button-outline-width:var(--form-element-outline-width);--button-spacing-vertical:var(--form-element-spacing-vertical);--button-spacing-horizontal:var(--form-element-spacing-horizontal);--spacing-gutter:1rem;--spacing-block:2rem;--spacing-factor-xs:1;--spacing-factor-sm:1.25;--spacing-factor-md:1.5;--spacing-factor-lg:1.75;--spacing-factor-xl:2;--spacing-typography:1.5rem;--spacing-form-element:.25rem;--transition:.2s ease-in-out}:root{--icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' opacity='0.66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-date:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' opacity='0.66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--icon-time:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' opacity='0.66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' opacity='0.66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--icon-checkbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(40, 138, 106, 0.999)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(185, 70, 70, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")}:root:not([data-theme=dark]),[data-theme=light]{--background:#FFF;--text:#415462;--h1:#1b2832;--h2:#2c3d49;--h3:#415462;--h4:#596b78;--h5:#73828c;--h6:#8a99a3;--primary:#1095c1;--primary-border:var(--primary);--primary-hover:#08769b;--primary-hover-border:var(--primary-hover);--primary-focus:rgba(16, 149, 193, 0.125);--primary-inverse:#FFF;--secondary:#73828c;--secondary-border:var(--secondary);--secondary-hover:#415462;--secondary-hover-border:var(--secondary-hover);--secondary-focus:rgba(115, 130, 140, 0.125);--secondary-inverse:#FFF;--contrast:#2c3d49;--contrast-border:var(--contrast);--contrast-hover:#0d1419;--contrast-hover-border:var(--contrast-hover);--contrast-focus:rgba(115, 130, 140, 0.125);--contrast-inverse:#FFF;--input-background:#FFF;--input-border:#c8d1d8;--input-hover-background:var(--input-background);--input-hover-border:var(--primary);--input-focus:var(--primary-focus);--input-inverse:var(--primary-inverse);--button-shadow:0 0 0 0 rgba(0, 0, 0, 0);--button-hover-shadow:0 0 0 0 rgba(0, 0, 0, 0);--valid:#288a6a;--invalid:#b94646;--mark:rgba(255, 223, 128, 0.33);--mark-text:#2c3d49;--muted-text:#7e8d98;--muted-background:#edf0f3;--muted-border:#edf0f3;--card-background:#FFF;--card-sections:#f3f5f7;--card-shadow:0 0.125rem 1rem rgba(27, 40, 50, 0.04), 0 0.125rem 2rem rgba(27, 40, 50, 0.08), 0 0 0 0.0625rem rgba(27, 40, 50, 0.024);--code-background:#f3f5f7;--code-inlined:#edf0f3;--code-color-1:#73828c;--code-color-2:#b34d80;--code-color-3:#3d888f;--code-color-4:#998866;--code-color-5:#96a4ae;--table-border:rgba(237, 240, 243, 0.75);--table-stripping:rgba(115, 130, 140, 0.075)}@media only screen and (prefers-color-scheme:dark){:root:not([data-theme=light]){--background:#10181e;--text:#a2afb9;--h1:#edf0f3;--h2:#d5dce2;--h3:#bbc6ce;--h4:#a2afb9;--h5:#8a99a3;--h6:#73828c;--primary:#1095c1;--primary-border:var(--primary);--primary-hover:#1ab3e6;--primary-hover-border:var(--primary-hover);--primary-focus:rgba(16, 149, 193, 0.25);--primary-inverse:#FFF;--secondary:#596b78;--secondary-border:var(--secondary);--secondary-hover:#73828c;--secondary-hover-border:var(--secondary-hover);--secondary-focus:rgba(89, 107, 120, 0.25);--secondary-inverse:#FFF;--contrast:#d5dce2;--contrast-border:var(--contrast);--contrast-hover:#FFF;--contrast-hover-border:var(--contrast-hover);--contrast-focus:rgba(89, 107, 120, 0.25);--contrast-inverse:#10181e;--input-background:#10181e;--input-border:#374956;--input-hover-background:var(--input-background);--input-hover-border:var(--primary);--input-focus:var(--primary-focus);--input-inverse:var(--primary-inverse);--button-shadow:0 0 0 0 rgba(0, 0, 0, 0);--button-hover-shadow:0 0 0 0 rgba(0, 0, 0, 0);--valid:#1f7a5c;--invalid:#943838;--mark:rgba(255, 223, 128, 0.1875);--mark-text:#FFF;--muted-text:#73828c;--muted-background:#23333e;--muted-border:#23333e;--card-background:#17232b;--card-sections:#141d24;--card-shadow:0 0.125rem 1rem rgba(0, 0, 0, 0.08), 0 0.125rem 2rem rgba(0, 0, 0, 0.04), 0 0 0 0.0625rem rgba(0, 0, 0, 0.1);--code-background:#141d24;--code-inlined:rgba(65, 84, 98, 0.25);--code-color-1:#73828c;--code-color-2:#a65980;--code-color-3:#599fa6;--code-color-4:#8c8473;--code-color-5:#4d606d;--table-border:rgba(115, 130, 140, 0.075);--table-stripping:rgba(115, 130, 140, 0.05)}}[data-theme=dark]{--background:#10181e;--text:#a2afb9;--h1:#edf0f3;--h2:#d5dce2;--h3:#bbc6ce;--h4:#a2afb9;--h5:#8a99a3;--h6:#73828c;--primary:#1095c1;--primary-border:var(--primary);--primary-hover:#1ab3e6;--primary-hover-border:var(--primary-hover);--primary-focus:rgba(16, 149, 193, 0.25);--primary-inverse:#FFF;--secondary:#596b78;--secondary-border:var(--secondary);--secondary-hover:#73828c;--secondary-hover-border:var(--secondary-hover);--secondary-focus:rgba(89, 107, 120, 0.25);--secondary-inverse:#FFF;--contrast:#d5dce2;--contrast-border:var(--contrast);--contrast-hover:#FFF;--contrast-hover-border:var(--contrast-hover);--contrast-focus:rgba(89, 107, 120, 0.25);--contrast-inverse:#10181e;--input-background:#10181e;--input-border:#374956;--input-hover-background:var(--input-background);--input-hover-border:var(--primary);--input-focus:var(--primary-focus);--input-inverse:var(--primary-inverse);--button-shadow:0 0 0 0 rgba(0, 0, 0, 0);--button-hover-shadow:0 0 0 0 rgba(0, 0, 0, 0);--valid:#1f7a5c;--invalid:#943838;--mark:rgba(255, 223, 128, 0.1875);--mark-text:#FFF;--muted-text:#73828c;--muted-background:#23333e;--muted-border:#23333e;--card-background:#17232b;--card-sections:#141d24;--card-shadow:0 0.125rem 1rem rgba(0, 0, 0, 0.08), 0 0.125rem 2rem rgba(0, 0, 0, 0.04), 0 0 0 0.0625rem rgba(0, 0, 0, 0.1);--code-background:#141d24;--code-inlined:rgba(65, 84, 98, 0.25);--code-color-1:#73828c;--code-color-2:#a65980;--code-color-3:#599fa6;--code-color-4:#8c8473;--code-color-5:#4d606d;--table-border:rgba(115, 130, 140, 0.075);--table-stripping:rgba(115, 130, 140, 0.05)}*,:after,:before{box-sizing:border-box}:after,:before{text-decoration:inherit;vertical-align:inherit}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);-moz-tab-size:4;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;background:var(--background);color:var(--text);font-family:var(--text-font);font-size:var(--base-font-xs);font-weight:var(--text-weight);line-height:var(--line-height);text-rendering:optimizeLegibility;cursor:default}@media (min-width:576px){html{font-size:var(--base-font-sm)}}@media (min-width:768px){html{font-size:var(--base-font-md)}}@media (min-width:992px){html{font-size:var(--base-font-lg)}}@media (min-width:1200px){html{font-size:var(--base-font-xl)}}main{display:block}body{width:100%;margin:0}body>footer,body>header,body>main{width:100%;margin-right:auto;margin-left:auto;padding:var(--spacing-block) 0}.container,.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--spacing-gutter);padding-left:var(--spacing-gutter)}@media (min-width:576px){.container{max-width:510px;padding-right:0;padding-left:0}}@media (min-width:768px){.container{max-width:700px}}@media (min-width:992px){.container{max-width:920px}}@media (min-width:1200px){.container{max-width:1130px}}.grid{grid-column-gap:var(--spacing-gutter);grid-row-gap:var(--spacing-gutter);display:grid;grid-template-columns:1fr;margin:0}@media (min-width:992px){.grid{grid-template-columns:repeat(auto-fit, minmax(0%, 1fr))}}.grid>*{min-width:0}figure{display:block;margin:0;padding:0;overflow-x:auto}figure figcaption{padding:calc(var(--spacing-gutter) / 2) 0;color:var(--muted-text)}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:.75rem;line-height:0;vertical-align:baseline}sub{bottom:-0.25rem}sup{top:-0.5rem}dl dl,dl ol,dl ul,ol dl,ul dl{margin:0}ol ol,ol ul,ul ol,ul ul{margin:0}address,blockquote,dl,figure,form,ol,p,pre,table,ul{margin-top:0;margin-bottom:var(--spacing-typography);color:var(--text);font-size:1rem;font-style:normal}a{background-color:transparent;color:var(--primary);text-decoration:none}a:active,a:focus,a:hover{color:var(--primary-hover);text-decoration:underline}a:focus{outline:none;background-color:var(--primary-focus)}a.secondary{color:var(--secondary);text-decoration:underline}a.secondary:active,a.secondary:focus,a.secondary:hover{color:var(--secondary-hover)}a.secondary:focus{background-color:var(--secondary-focus)}a.contrast{color:var(--contrast);text-decoration:underline}a.contrast:active,a.contrast:focus,a.contrast:hover{color:var(--contrast-hover)}a.contrast:focus{background-color:var(--contrast-focus)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--spacing-typography);font-family:var(--titles-font);font-weight:var(--titles-weight)}h1{margin-bottom:calc(var(--spacing-typography) * 2);color:var(--h1);font-size:var(--h1-size)}h2{margin-bottom:calc(var(--spacing-typography) * 1.75);color:var(--h2);font-size:var(--h2-size)}h3{margin-bottom:calc(var(--spacing-typography) * 1.5);color:var(--h3);font-size:var(--h3-size)}h4{margin-bottom:calc(var(--spacing-typography) * 1.25);color:var(--h4);font-size:var(--h4-size)}h5{margin-bottom:calc(var(--spacing-typography) * 1.125);color:var(--h5);font-size:var(--h5-size)}h6{color:var(--h6);font-size:var(--h6-size)}address~h1,blockquote~h1,dl~h1,figure~h1,form~h1,ol~h1,pre~h1,p~h1,table~h1,ul~h1{margin-top:calc(var(--spacing-typography) * 2)}address~h2,blockquote~h2,dl~h2,figure~h2,form~h2,ol~h2,pre~h2,p~h2,table~h2,ul~h2{margin-top:calc(var(--spacing-typography) * 1.75)}address~h3,blockquote~h3,dl~h3,figure~h3,form~h3,ol~h3,pre~h3,p~h3,table~h3,ul~h3{margin-top:calc(var(--spacing-typography) * 1.5)}address~h4,blockquote~h4,dl~h4,figure~h4,form~h4,ol~h4,pre~h4,p~h4,table~h4,ul~h4{margin-top:calc(var(--spacing-typography) * 1.25)}address~h5,blockquote~h5,dl~h5,figure~h5,form~h5,ol~h5,pre~h5,p~h5,table~h5,ul~h5{margin-top:calc(var(--spacing-typography) * 1.125)}address~h6,blockquote~h6,dl~h6,figure~h6,form~h6,ol~h6,pre~h6,p~h6,table~h6,ul~h6{margin-top:calc(var(--spacing-typography))}hgroup{margin-bottom:var(--spacing-typography)}hgroup *{margin-bottom:0}hgroup>:last-child{color:var(--muted-text);font-family:unset;font-size:1.125rem;font-weight:unset}p{margin-bottom:var(--spacing-typography)}small{font-size:85%}@media (min-width:576px){small{font-size:83%}}@media (min-width:768px){small{font-size:81%}}@media (min-width:992px){small{font-size:79%}}@media (min-width:1200px){small{font-size:77%}}ol,ul{padding-left:var(--spacing-typography)}ol li,ul li{margin-bottom:calc(var(--spacing-typography) / 4)}ul li{list-style:square}mark{padding:.125rem .25rem;background:var(--mark);color:var(--mark-text);vertical-align:middle}blockquote{display:block;margin:var(--spacing-typography) 0;padding:var(--spacing-gutter);border-left:0.25rem solid var(--muted-border)}blockquote footer{margin-top:calc(var(--spacing-typography) / 2);color:var(--muted-text)}abbr[title]{border-bottom:1px dotted;text-decoration:none;cursor:help}ins{color:var(--valid);text-decoration:none}del{color:var(--invalid)}::selection{background-color:var(--primary-focus)}audio,canvas,iframe,img,svg,video{vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}iframe{border-style:none}img{max-width:100%;height:auto;border-style:none}svg:not([fill]){fill:currentColor}svg:not(:root){overflow:hidden}button{margin:0;overflow:visible;font-family:inherit;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}button{display:block;width:100%;margin-bottom:var(--spacing-typography)}a[role=button]{display:inline-block;text-decoration:none}[type=file]::-webkit-file-upload-button,a[role=button],button,input[type=button],input[type=reset],input[type=submit]{padding:var(--button-spacing-vertical) var(--button-spacing-horizontal);border:var(--button-border-width) solid var(--primary-border);border-radius:var(--button-round);outline:none;background-color:var(--primary);box-shadow:var(--button-shadow);color:var(--primary-inverse);font-size:1rem;font-weight:var(--buttons-weight);line-height:var(--line-height);text-align:center;cursor:pointer}[type=file]::-webkit-file-upload-button:active,[type=file]::-webkit-file-upload-button:focus,[type=file]::-webkit-file-upload-button:hover,a[role=button]:active,a[role=button]:focus,a[role=button]:hover,button:active,button:focus,button:hover,input[type=button]:active,input[type=button]:focus,input[type=button]:hover,input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:active,input[type=submit]:focus,input[type=submit]:hover{border-color:var(--primary-hover-border);background-color:var(--primary-hover);box-shadow:var(--button-hover-shadow)}[type=file]::-webkit-file-upload-button:focus,a[role=button]:focus,button:focus,input[type=button]:focus,input[type=reset]:focus,input[type=submit]:focus{box-shadow:var(--button-hover-shadow), 0 0 0 var(--button-outline-width) var(--primary-focus)}input[type=reset]{cursor:pointer}a[role=button][disabled],button[disabled],input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{opacity:.5;pointer-events:none}input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:1rem;letter-spacing:inherit;line-height:var(--line-height)}input{overflow:visible}select{text-transform:none}legend{max-width:100%;padding:0;color:inherit;white-space:normal}textarea{margin:0;overflow:auto;resize:vertical;resize:block}[type=checkbox],[type=radio]{padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{padding:0;border-style:none}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::-ms-expand{display:none}[type=file],[type=range]{padding:0;border-width:0}input:not([type=checkbox]):not([type=radio]):not([type=range]){height:calc( (1rem * var(--line-height)) + (var(--form-element-spacing-vertical) * 2) + (var(--form-element-border-width) * 2))}fieldset{margin:0;margin-bottom:var(--spacing-typography);padding:0;border:0}fieldset legend,label{display:block;margin-bottom:var(--spacing-form-element);vertical-align:middle}form small,input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);vertical-align:middle}input,select,textarea{border:var(--form-element-border-width) solid var(--input-border);border-radius:var(--block-round);outline:none;background-color:var(--input-background);color:var(--text);font-weight:var(--form-element-weight)}input::-webkit-input-placeholder,input::placeholder,select::-webkit-input-placeholder,select::placeholder,textarea::-webkit-input-placeholder,textarea::placeholder{color:var(--muted-text);opacity:1}input:active,input:focus,select:active,select:focus,textarea:active,textarea:focus{border-color:var(--input-hover-border);background-color:var(--input-hover-background)}input[disabled],input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{border-color:var(--muted-border);box-shadow:none}input[disabled]~label,input[readonly]~label,select[disabled]~label,select[readonly]~label,textarea[disabled]~label,textarea[readonly]~label{color:var(--muted-text)}input[disabled]:active,input[disabled]:focus,input[readonly]:active,input[readonly]:focus,select[disabled]:active,select[disabled]:focus,select[readonly]:active,select[readonly]:focus,textarea[disabled]:active,textarea[disabled]:focus,textarea[readonly]:active,textarea[readonly]:focus{box-shadow:none}input[disabled]:not([type=reset]):not([type=submit]):not([type=button]),select[disabled]:not([type=reset]):not([type=submit]):not([type=button]),textarea[disabled]:not([type=reset]):not([type=submit]):not([type=button]){background-color:var(--muted-background)}input[disabled],select[disabled],textarea[disabled]{opacity:.66}input .invalid,input .valid,input[aria-invalid],select .invalid,select .valid,select[aria-invalid],textarea .invalid,textarea .valid,textarea[aria-invalid]{padding-right:2rem;background-position:center right .75rem;background-repeat:no-repeat;background-size:1rem auto}input .valid,input[aria-invalid=false],select .valid,select[aria-invalid=false],textarea .valid,textarea[aria-invalid=false]{background-image:var(--icon-valid)}input .invalid,input[aria-invalid=true],select .invalid,select[aria-invalid=true],textarea .invalid,textarea[aria-invalid=true]{background-image:var(--icon-invalid)}input:not([type=checkbox]):not([type=radio]),select,textarea{margin-bottom:var(--spacing-typography)}input:not([type=range]):not([type=file]):focus,select:focus,textarea:focus{box-shadow:0 0 0 var(--form-element-outline-width) var(--input-focus)}select::-ms-expand{border:0;background-color:transparent}select:not([multiple]):not([size]){padding-right:calc(var(--form-element-spacing-horizontal) + 1.5rem);background-image:var(--icon-chevron);background-position:center right .75rem;background-repeat:no-repeat;background-size:1rem auto}form small{color:var(--muted-text)}input+small,select+small,textarea+small{margin-top:calc(var(--spacing-typography) * -0.75);margin-bottom:var(--spacing-typography)}label>input,label>select,label>textarea{margin-top:var(--spacing-form-element)}table{width:100%;border-color:inherit;border-collapse:collapse;border-spacing:0;text-indent:0}td,th{padding:calc(var(--spacing-gutter) / 2) var(--spacing-gutter);border-bottom:1px solid var(--table-border);color:var(--muted-text);font-size:0.875rem;font-weight:var(--text-weight);text-align:left}th,thead td{color:var(--text);font-size:1rem}thead td,thead th{border-bottom:3px solid var(--table-border)}table[role=grid] tbody tr:nth-child(odd){background-color:var(--table-stripping)}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0, 0, 0, 0);position:absolute}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation}

/*!
 * TCExam mobile theme based on Pico.css (https://picocss.com).
 * Author: Maman Sulaeman | email: mamansulaeman86@gmail.com | telegram: @mamans86 | blog: https://mamans86.blogspot.com
 * Info: https://picoman-theme.blogspot.com
 * The SVG icons "eye", "eye-blocked" and "flag" are generated by IcoMoon.io from https://github.com/Keyamoon/IcoMoon-Free - LICENSE: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/).
 */
 :root{
	  --icon-eye:url("data:image/svg+xml,%0A%3C!-- Generated by IcoMoon.io --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='rgba(115, 130, 140, 0.999)'%3E%3Ctitle%3Eeye%3C/title%3E%3Cpath d='M12 4.5c-5.234 0-9.771 3.048-12 7.5 2.229 4.452 6.766 7.5 12 7.5s9.771-3.048 12-7.5c-2.229-4.452-6.766-7.5-12-7.5zM17.917 8.477c1.41 0.899 2.605 2.104 3.502 3.523-0.897 1.418-2.092 2.623-3.502 3.523-1.772 1.13-3.818 1.727-5.917 1.727s-4.145-0.597-5.917-1.727c-1.41-0.899-2.605-2.104-3.502-3.523 0.897-1.419 2.092-2.623 3.502-3.523 0.092-0.059 0.185-0.115 0.278-0.171-0.233 0.64-0.361 1.332-0.361 2.053 0 3.314 2.686 6 6 6s6-2.686 6-6c0-0.721-0.128-1.413-0.361-2.053 0.093 0.056 0.186 0.113 0.278 0.171v0zM12 9.75c0 1.243-1.007 2.25-2.25 2.25s-2.25-1.007-2.25-2.25 1.007-2.25 2.25-2.25 2.25 1.007 2.25 2.25z'%3E%3C/path%3E%3C/svg%3E%0A");
	  --icon-eye-unblocked:url("data:image/svg+xml,%3C!-- Generated by IcoMoon.io --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='rgba(115, 130, 140, 0.999)'%3E%3Ctitle%3Eeye-blocked%3C/title%3E%3Cpath d='M22.171 0.329c-0.439-0.439-1.152-0.439-1.591 0l-4.738 4.738c-1.217-0.369-2.507-0.568-3.841-0.568-5.234 0-9.771 3.048-12 7.5 0.964 1.925 2.359 3.587 4.055 4.854l-3.726 3.726c-0.439 0.439-0.439 1.152 0 1.591 0.22 0.22 0.508 0.33 0.795 0.33s0.576-0.11 0.796-0.329l20.25-20.25c0.439-0.439 0.439-1.152 0-1.591zM9.75 7.5c0.99 0 1.83 0.64 2.131 1.528l-2.853 2.853c-0.888-0.301-1.528-1.141-1.528-2.131 0-1.243 1.007-2.25 2.25-2.25zM2.581 12c0.897-1.419 2.092-2.623 3.502-3.523 0.092-0.059 0.185-0.115 0.278-0.171-0.233 0.64-0.361 1.332-0.361 2.053 0 1.286 0.405 2.478 1.095 3.455l-1.428 1.428c-1.229-0.863-2.278-1.966-3.086-3.242z'%3E%3C/path%3E%3Cpath d='M18 10.359c0-0.637-0.1-1.25-0.284-1.826l-7.542 7.542c0.576 0.184 1.189 0.283 1.826 0.283 3.314 0 6-2.686 6-6z'%3E%3C/path%3E%3Cpath d='M19.454 6.796l-1.626 1.626c0.030 0.018 0.059 0.037 0.089 0.056 1.41 0.899 2.605 2.104 3.502 3.523-0.897 1.418-2.092 2.623-3.502 3.523-1.772 1.13-3.818 1.727-5.917 1.727-0.906 0-1.802-0.112-2.671-0.329l-1.802 1.802c1.4 0.503 2.905 0.777 4.473 0.777 5.234 0 9.771-3.048 12-7.5-1.055-2.107-2.628-3.9-4.546-5.204z'%3E%3C/path%3E%3C/svg%3E%0A");
	  --icon-flag:url("data:image/svg+xml,%0A%3C!-- Generated by IcoMoon.io --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ctitle%3Eflag%3C/title%3E%3Cpath d='M0 0h3v24h-3v-24z'%3E%3C/path%3E%3Cpath d='M19.5 15.070c1.937 0 3.623-0.468 4.5-1.16v-12c-0.877 0.692-2.563 1.16-4.5 1.16s-3.623-0.468-4.5-1.16v12c0.877 0.692 2.563 1.16 4.5 1.16z'%3E%3C/path%3E%3Cpath d='M14.25 0.762c-1.099-0.467-2.707-0.762-4.5-0.762-2.259 0-4.227 0.468-5.25 1.16v12c1.023-0.692 2.991-1.16 5.25-1.16 1.793 0 3.401 0.295 4.5 0.762v-12z'%3E%3C/path%3E%3C/svg%3E%0A");
	  --color-warning:#FFC107;
 }
 
 input:not([type=checkbox]):not([type=radio]), select, textarea{margin-bottom:0}
 select#group_id,select#display_mode{padding-right: calc(var(--form-element-spacing-horizontal) + 1.5rem);background-image: var(--icon-chevron);background-position: center right .75rem;background-repeat: no-repeat;background-size: 1rem auto}
 
 body{background: linear-gradient(180deg, var(--primary-hover) 25rem, var(--muted-background) 25rem)}
 .row{margin-bottom:var(--form-element-spacing-vertical)}
 body > .popupcontainer > .tceformbox > div.row, .anyFormBox > div.row {margin: var(--form-element-spacing-vertical) 0}
 body > .popupcontainer > .tceformbox > div.row > .value, body > .popupcontainer > .tceformbox > div.row > .formw, .anyFormBox > div.row > .formw,.anyFormBox > div.row > .value {padding: var(--form-element-spacing-vertical);background: var(--input-focus);border-radius:var(--block-round)}
 body > .popupcontainer > .tceformbox > div.row > .label, .anyFormBox > div.row > .label{font-weight:var(--titles-weight)}
.tcecontentbox{overflow-x:auto} 
.tceformbox form,.gsoformbox form {background:var(--background);box-shadow:var(--card-shadow);padding: calc(var(--form-element-spacing-vertical) * 2) calc(var(--form-element-spacing-horizontal) * 2);border-radius: var(--block-round)}

#qTopBar,.warning,.error,.confirmbox,#testform,.anyFormBox,body > .popupcontainer > .tcecontentbox,body > .popupcontainer > .tceformbox{background:var(--background);box-shadow:var(--card-shadow);padding: calc(var(--form-element-spacing-vertical) * 2) calc(var(--form-element-spacing-horizontal) * 2);border-radius: var(--block-round)}
div#qTopBar {border-radius: var(--block-round) var(--block-round) 0 0;box-shadow: var(--card-shadow);background: var(--primary);padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);display: flex;justify-content: space-between;align-items:center}
#testform{border-radius:0 0 var(--block-round) var(--block-round)}

.warning,.error{position:fixed;z-index:1;bottom:var(--form-element-spacing-vertical);left:var(--form-element-spacing-vertical);right:var(--form-element-spacing-vertical)}
.infolink + .warning,.infolink + .error {position:unset}
.warning{background:var(--color-warning)}.error{background:var(--invalid);color:var(--background)}

 #form_login {margin-top:var(--form-element-spacing-vertical)}
 #form_login div:first-child{padding-top:var(--form-element-spacing-vertical)}
 .formw,.value{position: relative;display:block}
 .formw > button {width: auto;position: absolute;top: 0;right: 0}
 
 .icon-eye-unblocked,.icon-eye {position: absolute;padding-right: calc(var(--form-element-spacing-horizontal) + 1.5rem);background-position: center right .75rem;background-repeat: no-repeat;background-size: 1rem auto;height: calc( (1rem * var(--line-height)) + (var(--form-element-spacing-vertical) * 2) + (var(--form-element-border-width) * 2));top: 0;right: 0;cursor:pointer}
.icon-eye{background-image: var(--icon-eye);}.icon-eye-unblocked{background-image: var(--icon-eye-unblocked)}.icon-flag{background-image: var(--icon-flag)}
.icon-flag{padding: var(--form-element-spacing-horizontal);background-position: center;background-repeat: no-repeat;background-size: 1rem auto;height: calc(var(--form-element-spacing-horizontal)*2.2);background-color:var(--background)}
 
 #form_login div:nth-child(3){margin-bottom:var(--form-element-spacing-vertical);text-align:center}
 #form_login .row .formw {width:100%;text-align:center}
 
 h1{padding:0;color:var(--primary-inverse);text-align:center;margin-bottom: calc(var(--button-spacing-vertical)/2)}
 .white,.white:hover{color:transparent}
 .label{display:flex}

div.left{background-image: url(../../images/logo_tcexam_118x25.png);background-repeat: no-repeat;background-position: var(--form-element-spacing-horizontal) bottom;height: 3rem}

#header_button{background: var(--primary-focus);border-radius:var(--block-round);padding: var(--spacing-form-element) var(--form-element-spacing-vertical);color: var(--muted-border);cursor: pointer;position: absolute;text-align: center;display: block;top: var(--spacing-gutter);right: var(--spacing-gutter);font-size: var(--base-font-xl)}

ul.menu {padding: 0}
ul.menu li {list-style-type: none;margin-bottom: calc(var(--spacing-typography)/2);margin-top: calc(var(--spacing-typography)/2)}

div#scrollayer{top:0;position: fixed;height:100%;background:var(--background);z-index:1;padding: 0 calc(var(--spacing-gutter)*2);box-shadow:var(--card-shadow);right:-400px;opacity:0}

.hb_slidein{z-index:2;color:var(--primary) !important;position:fixed !important}
.hb_slideout{}

.slide-in{animation-duration:0.5s !important;animation: slide-in 0.5s forwards;-webkit-animation: slide-in 0.5s forwards}
.slide-out{animation-duration:0.5s !important;animation: slide-out 0.5s forwards;-webkit-animation: slide-out 0.5s forwards}

@keyframes slide-in{from{right:-400px;opacity:0}to{right:0;opacity:1}}
@keyframes slide-out{from{right:0;opacity:1}to{right:-400px;opacity:0}}

#timer{width: auto;display: initial;padding: 0.25rem 0 1rem 0;margin: 0 0 0 1rem;}
#timerform #timer[data-state="warning"]{background:var(--timer-warning-bg);color:var(--timer-warning-text);font-weight:700}
#timerform #timer[data-state="critical"]{background:var(--timer-critical-bg);color:var(--timer-critical-text);font-weight:800}
.timer-status{display:block;min-height:1.25em;font-size:.78rem;font-weight:700}
.timer-status[data-state="warning"]{background:var(--timer-warning-bg);color:var(--timer-warning-text);padding:0 .35rem}
.timer-status[data-state="critical"]{background:var(--timer-critical-bg);color:var(--timer-critical-text);padding:0 .35rem}
#timerform, #timer, .timerlabel {text-align: left;background: transparent;border: none;color: var(--contrast-inverse)}
#timer{padding-right:calc(var(--spacing-gutter)/2)}

.timerlabel {display:none}
form > .rowl {overflow-x:auto}

td, th{color: var(--contrast);text-align:center;border-bottom:1px solid #EDEFFF}
.container > small {display: block;text-align: center;padding-bottom:var(--form-element-spacing-vertical)}
.container > small a{color:var(--primary-inverse)}
.infolink {display: block;text-align: center}
.pagehelp{margin: 7rem 0 0 0;background: var(--card-sections);border-radius: var(--block-round);padding: var(--spacing-gutter);box-shadow: var(--card-shadow)}

#unsure,#qNum{padding: calc(var(--button-spacing-vertical)/2) var(--button-spacing-horizontal);display: inline-block;color: var(--background);border-radius: var(--button-round);border: var(--button-border-width) solid var(--background);font-weight: var(--titles-weight)}
#unsure{margin-left:var(--form-element-spacing-vertical)}
span#fontResizer {display: flex;align-items: center}
#fontplus,#fontminus{border: var(--button-border-width) solid var(--primary);background:var(--background);color:var(--primary-hover);cursor:pointer;user-select:none;padding: calc(var(--form-element-spacing-vertical)/3) var(--form-element-spacing-vertical);font-size: var(--base-font-xl);font-weight: var(--titles-weight)}
#fontplus:hover,#fontminus:hover{background:var(--card-sections)}
#fontplus{border-radius:var(--block-round) 0 0 var(--block-round);border-right:none}#fontminus{border-radius:0 var(--block-round) var(--block-round) 0}
.hidden, .hidden *, .hidden:hover, .hidden *:hover{color:transparent}
table{background: var(--background);}

input#confirmanswer{background: var(--valid);border-color: var(--valid)}
input#terminatetest,input#forceterminate {background: var(--invalid);border-color: var(--invalid)}

.anyFormBox + a, .xmlbutton, .buttonblue, .buttongreen, .infolink a{padding: calc(var(--button-spacing-vertical)/2) var(--button-spacing-horizontal);border-radius: var(--button-round);outline: none;box-shadow: var(--button-shadow);line-height: var(--line-height);cursor: pointer;background-color: transparent;color: var(--primary)}

.userbar ~ .minibutton{text-align: center}
.userbar ~ .minibutton,.userbar{background:var(--background);padding: calc(var(--form-element-spacing-vertical) * 2) calc(var(--form-element-spacing-horizontal) * 2)}
.userbar ~ .minibutton,.userbar{padding:var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal)}
.userbar + .minibutton {background: var(--code-color-3);color: var(--code-color-3)}
.userbar{background:var(--contrast);text-align: right;padding: var(--form-element-spacing-horizontal)}
.userbar span, .userbar a {border: var(--button-border-width) solid var(--background);color: var(--background);border-radius: var(--block-round);padding: calc(var(--form-element-spacing-vertical)/2) calc(var(--form-element-spacing-horizontal)/1)}
.userbar a {background: var(--code-color-2);color: var(--background);border: var(--button-border-width) solid var(--code-color-2)}
.minibutton + .minibutton{font-size: var(--base-font-xs);background:var(--contrast)}

a.minibutton + span {display: none}
a.minibutton {background: var(--primary-focus);padding: calc(var(--form-element-spacing-vertical)/3) calc(var(--form-element-spacing-horizontal)/1);display: inline-block;margin: calc(var(--form-element-spacing-vertical)/3);color: var(--color-warning);font-size: calc(var(--base-font-xs)*0.75)}
.langselector {display:block}
.langselector a {color: var(--background);display: inline-block;padding: var(--form-element-spacing-horizontal)}
.langselector span {background: var(--color-warning);padding: var(--form-element-spacing-horizontal);box-shadow: var(--card-shadow);color: var(--text);font-weight: var(--titles-weight)}
script + .minibutton *,.body + .minibutton * {color: transparent !important}
.userbar + .minibutton + .minibutton + .minibutton {padding: 0}
.userbar + .minibutton + .minibutton {padding: var(--form-element-spacing-vertical) 0 calc(var(--form-element-spacing-vertical)/2) 0}

span.copyright {display: inline-block;color: #fff}
span.copyright a{color:var(--color-warning)}

ul.menu li > ul{background: var(--card-sections);border-radius: var(--block-round);padding: calc(var(--form-element-spacing-vertical)/10) var(--form-element-spacing-horizontal);border-left: 5px solid var(--primary)}
span.labeldesc{text-align: right;display: block;font-size: var(--base-font-xs);font-style: italic}

ol.answer {padding:0}
ol.answer > li {display: flex;align-items: center;padding: var(--form-element-spacing-vertical);margin-bottom:0}
ol.answer > li:nth-child(even){background:rgb(115 130 140 / 3%)}
ol.answer > li:not(:last-child){border-bottom: var(--form-element-border-width) solid var(--secondary-focus)}
ol.answer > li > input[type=radio]{width: 1.30rem;height: 1.25rem}
ol.answer > li > label{width: 90%}
ol.answer > li > select {width:auto;margin-right:var(--form-element-spacing-horizontal)}
ol.answer li > span {display: flex;align-items: center}
ol.answer li span > label {margin: var(--block-round)}

.exam-page .tcecontentbox,
.exam-page .tcecontentbox label,
.exam-page ol.answer label {
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: normal;
}

.exam-page .tcecontentbox img,
.exam-page ol.answer img,
.exam-page ol.answer audio,
.exam-page ol.answer video {
	max-width: 100%;
}

.exam-page ol.answer audio,
.exam-page ol.answer video {
	height: auto;
}

.audio-play-status {
	display: block;
	margin-top: .35rem;
	color: var(--muted-text);
	font-size: .875rem;
}

.exam-live-score {
	display: inline-block;
	margin: .5rem 0;
	padding: .4rem .7rem;
	border-radius: var(--block-round);
	background: var(--primary-focus);
	font-weight: 700;
}

body.exam-hide-info > .header,
body.exam-hide-info .pagehelp,
body.exam-hide-info .userbar,
body.exam-hide-info .infolink {
	display: none !important;
}

audio[aria-disabled="true"] {
	opacity: .55;
}

.exam-previewable-image {
	cursor: zoom-in;
}

.participant-photo,
.participant-photo-preview {
	display: block;
	width: 112px;
	height: 112px;
	margin: .5rem auto 1rem;
	border-radius: 50%;
	object-fit: cover;
}

.participant-schedule {
	margin: 1rem 0;
	padding: .75rem;
	border-radius: var(--block-round);
	background: var(--muted-background);
}

.participant-schedule p {
	margin: .35rem 0 0;
	overflow-wrap: anywhere;
}

@font-face {
	font-family: "Noto Sans Arabic";
	src: url("../../shared/fonts/noto-sans-arabic.woff2") format("woff2");
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 62.5% 100%;
	font-display: swap;
}

[lang="ar"],
[dir="rtl"] {
	font-family: "Noto Sans Arabic", "Noto Naskh Arabic", "DejaVu Sans", Tahoma, Arial, sans-serif;
}

[lang="ar"] .tcecontentbox,
[dir="rtl"] .tcecontentbox,
[lang="ar"] input,
[lang="ar"] textarea {
	unicode-bidi: plaintext;
}

.exam-image-preview {
	box-sizing: border-box;
	width: min(94vw, 1200px);
	max-width: 1200px;
	height: min(92vh, 900px);
	max-height: 92vh;
	padding: 3rem 1rem 1rem;
	border: 0;
	border-radius: var(--block-round);
	background: var(--background);
}

.exam-image-preview::backdrop {
	background: rgb(0 0 0 / 78%);
}

.exam-image-preview img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.exam-image-preview-close {
	position: absolute;
	top: .5rem;
	right: .5rem;
	width: auto;
	margin: 0;
	padding: .35rem .8rem;
}

@media (max-width: 575px) {
	.exam-page ol.answer > li {
		align-items: flex-start;
		flex-wrap: wrap;
		gap: .5rem;
	}

	.exam-page ol.answer > li > label {
		flex: 1 1 calc(100% - 2rem);
		width: auto;
	}

	.exam-page ol.answer > li > select {
		flex: 0 0 100%;
		width: 100%;
		margin: 0;
	}
}

.popupcontainer > .row {display:flex;justify-content: center}
/* a link primary-button style */
.popupcontainer > .row > a:first-child, .buttonblue, .buttongreen, .infolink a{color: var(--background)}

.anyFormBox + a, .xmlbutton{border: var(--button-border-width) solid var(--primary-border)}
.anyFormBox + a {margin-top: var(--form-element-spacing-vertical);display: inline-block;background:var(--primary);color:var(--background)}
.xmlbutton:not(:first-child) {margin-left: var(--button-spacing-horizontal)}

.popupcontainer > .row > a:first-child, .buttonblue{background: var(--primary);border: var(--button-border-width) solid var(--primary-border)}
.buttongreen{background: var(--valid);border: var(--button-border-width) solid var(--valid);}
.buttongreen:hover,.buttonblue:hover {color: var(--background)}
.infolink a{border: var(--button-border-width) solid var(--primary-inverse);padding:var(--spacing-form-element) var(--form-element-spacing-vertical);border-radius:var(--spacing-block)}
.navlink input:first-child {border-radius: var(--block-round) var(--block-round) 0 0!important;border: var(--button-border-width) solid var(--primary-focus);}
.navlink input:nth-child(2){border-radius: unset}
.navlink input:nth-child(3){border-radius: 0 0 var(--block-round) var(--block-round) !important}
.navlink input[disabled]{border:none}

abbr{pointer-events:none}

ol.qlist {list-style-position: inside;padding:0}
ol.qlist > li.selected {background:var(--primary-focus)}
ol.qlist > li:not(.selected):hover {border-color: var(--primary-hover-border);background: var(--primary-hover);color: var(--background)}
ol.qlist > li {border:var(--form-element-border-width) solid;padding:var(--button-spacing-vertical) var(--button-spacing-horizontal);border-radius:var(--block-round);cursor:pointer}
ol.qlist > li {border-color:var(--primary-border)}
ol.qlist > li:hover {border-color:var(--primary-hover-border)}
ol.qlist > li > input {display: none !important}
abbr {margin-right: 0.25rem;text-decoration: none;border-radius: var(--block-round);border: var(--form-element-border-width) solid;border-color: var(--primary-border);padding: 0.25rem;display: inline-block;width: auto;min-width: 2rem;text-align: center}
abbr.okbox {background: var(--valid);color: var(--primary-inverse);border-color: var(--valid)}
abbr.nobox {background: var(--invalid);color: var(--primary-inverse);border-color: var(--invalid)}
abbr.onbox {background: var(--primary);color: var(--primary-inverse)}
abbr.onbox:nth-child(3) {background: var(--contrast);border-color: var(--contrast);}

#form_usereditor .row .label{position:relative}
.requiredonbox{position: absolute;top: 0.25rem;right: 1rem;border: none;border-radius: 50%;background: var(--invalid);padding: 0 0.35rem;min-width: auto;color: var(--background)}
.requiredoffbox{display:none}

@media (min-width: 576px) {
	body{background: linear-gradient(180deg, var(--primary-hover) 21rem, var(--muted-background) 21rem)}
	.icon-eye-unblocked,.icon-eye {height: calc( (1rem * var(--line-height)) + (var(--form-element-spacing-vertical) * 4) + (var(--form-element-border-width) * 2));}
	input:not([type=checkbox]):not([type=radio]), select, textarea{
		margin-bottom: calc(var(--spacing-typography)/2);
		margin-top: calc(var(--spacing-typography)/2);
	}
	div.header {display:flex;justify-content: space-between}
	#header_button {position:relative;background: var(--primary-focus);border-radius: var(--block-round);padding: var(--spacing-form-element) var(--form-element-spacing-vertical);margin-right: calc(var(--form-element-spacing-vertical)/2);color: var(--muted-border);cursor: pointer;font-size: var(--base-font-xl);top:0;right:0}
	
	.hb_slidein{top: calc(var(--form-element-spacing-horizontal)/2) !important;right: calc(var(--form-element-spacing-vertical)/2) !important}
	
	div.left{width: 10rem;background-position-y: center;height:auto;}
	#timerform div{display:flex;justify-content:flex-end;align-items:center}
	#timer{max-width:11rem;padding:initial;padding-right:1rem;text-align:right}
	div.row {display:flex}
	#timerform, #timer, .timerlabel{margin: 0 0 0 1rem}
	.right {flex: auto}
	span.label {width: 20%;align-items:center;padding-right: var(--form-element-spacing-horizontal)}
	span.formw,span.value {width: 83%}
	.formw > button {top: var(--form-element-spacing-vertical)}

	#form_login{width:500px;margin:0 auto;padding: calc(var(--form-element-spacing-vertical) * 2) calc(var(--form-element-spacing-horizontal) * 2)}
	#form_login div:nth-child(2) span.formw:after {top: calc(var(--spacing-typography)/2)}
	#form_login .row .label {width: 30%}
	.navlink {display:flex}
	.navlink input:first-child {border-radius: var(--block-round) 0 0 var(--block-round) !important;border: var(--button-border-width) solid var(--primary-focus);}
	.navlink input:nth-child(2){border-radius: unset}
	.navlink input:nth-child(3){border-radius: 0 var(--block-round) var(--block-round) 0 !important}
}

@media (min-width: 768px) {
	span.label {width: 15%}
}

@media (min-width: 1048px) {
	.langselector a {padding: 0}
}

/* ============================================================ */
/* Accessibility helpers (WCAG 2.1 AA).                         */
/* The shared PHP output emits .sr-only captions/legends, a     */
/* .skiplink, fieldset.answergroup and .required/.status_*      */
/* markers; these rules give the picoman theme the same         */
/* screen-reader, focus and grouping affordances as default.css.*/
/* ============================================================ */

/* visually-hidden content that stays available to screen readers */
.sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* "skip to main content" link: off-screen until keyboard focus */
.skiplink {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	padding: 8px 16px;
	background: #000000;
	color: #ffffff;
	text-decoration: underline;
}

.skiplink:focus {
	left: 0;
}

/* visible keyboard focus indicator (WCAG 2.4.7) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid #0b5fff;
	outline-offset: 2px;
}

/* keyboard focus indicator for the clickable question-navigator rows */
ol.qlist > li:focus-within {
	outline: 2px solid #0b5fff;
	outline-offset: 2px;
}

/* status indicators paired with text so meaning is not colour-only (WCAG 1.4.1) */
.status_pass {
	background-color: #bbffbb;
	color: #000000;
}

.status_fail {
	background-color: #ffbbbb;
	color: #000000;
}

.status_warn {
	background-color: #ffe9a8;
	color: #000000;
}

/* required-field marker appended to labels */
abbr.required,
.required {
	color: #b00020;
	text-decoration: none;
	border: 0;
	font-weight: bold;
}

/* answer-option grouping: semantic wrapper only, no visible box */
fieldset.answergroup {
	border: 0;
	margin: 0;
	padding: 0;
}

fieldset.answergroup > legend {
	padding: 0;
}

/* inline answer options */
ol.answer_inline {
	list-style-type: none;
	display: inline;
}

ol.answer_inline li {
	display: inline;
	margin: 0;
	padding: 0;
}

/* Authenticated public area: Maman Sulaeman's Picoman ideas adapted for
   OpenVsoshCBT — system typography, a fixed navigation rail and card surfaces. */
.app-page #header_button {
	display: none !important;
}

.app-page #scrollayer.slide-in,
.app-page #scrollayer.slide-out {
	animation: none !important;
	opacity: 1;
}

.app-page {
	--pm-primary: #1261a8;
	--pm-primary-dark: #0a417a;
	--pm-sidebar: #102a43;
	--pm-sidebar-muted: #9fb3c8;
	--pm-canvas: #f3f6fa;
	--pm-card: #ffffff;
	--pm-text: #243b53;
	--pm-muted: #6b7c93;
	--pm-border: #d9e2ec;
	--pm-success: #138a5b;
	min-height: 100vh;
	min-width: 0;
	background: var(--pm-canvas);
	color: var(--pm-text);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.app-page .header {
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20;
	width: 260px;
	height: 104px;
	padding: 24px 22px 18px;
	background: var(--pm-sidebar);
}

.app-page .header div.left {
	float: none;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
}

.app-page .header a.site-brand {
	color: #fff;
	line-height: 1.15;
}

.app-page .header a.site-brand strong {
	font-size: 18px;
	font-weight: 760;
	letter-spacing: -0.02em;
}

.app-page .header a.site-brand span {
	margin-top: 5px;
	color: var(--pm-sidebar-muted);
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.app-page .header div.right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	right: 0;
	left: 260px;
	z-index: 18;
	width: auto;
	height: 72px;
	padding: 0 32px;
	background: rgba(255, 255, 255, 0.94);
	border-bottom: 1px solid var(--pm-border);
	box-shadow: 0 1px 5px rgba(36, 59, 83, 0.04);
	backdrop-filter: blur(8px);
}

.app-page .header div.right,
.app-page .header div.right input {
	color: var(--pm-text);
}

.app-page .header div.right input {
	background: transparent;
	font-size: 14px;
}

.app-page #scrollayer.scrollmenu {
	box-sizing: border-box;
	position: fixed;
	top: 104px;
	bottom: 0;
	left: 0;
	z-index: 19;
	float: none;
	width: 260px;
	height: auto;
	padding: 12px 14px 24px;
	overflow-y: auto;
	background: var(--pm-sidebar);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}

.app-page #scrollayer ul.menu {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 100%;
}

.app-page #scrollayer ul.menu > li {
	float: none;
	width: 100%;
	height: auto;
	line-height: 1.3;
}

.app-page #scrollayer ul.menu li a,
.app-page #scrollayer ul.menu li span.active {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 44px;
	padding: 10px 13px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: #d9e2ec;
	text-decoration: none;
}

.app-page #scrollayer ul.menu li a::before,
.app-page #scrollayer ul.menu li span.active::before {
	content: "";
	width: 7px;
	height: 7px;
	margin-right: 12px;
	border: 2px solid currentColor;
	border-radius: 2px;
	opacity: 0.7;
}

.app-page #scrollayer ul.menu li a:hover,
.app-page #scrollayer ul.menu li a:focus-visible {
	background: rgba(255, 255, 255, 0.09);
	color: #fff;
}

.app-page #scrollayer ul.menu li a.active,
.app-page #scrollayer ul.menu li span.active {
	background: var(--pm-primary);
	color: #fff;
	font-weight: 750;
}

.app-page #scrollayer ul.menu li > ul {
	box-sizing: border-box;
	position: static;
	width: auto;
	margin: 4px 0 7px 20px;
	padding: 4px 0 4px 11px;
	border-left: 1px solid rgba(255, 255, 255, 0.18);
	background: transparent;
}

.app-page #scrollayer ul.menu li:hover > ul,
.app-page #scrollayer ul.menu *:focus + ul {
	position: static;
	width: auto;
	margin-left: 20px;
	background: transparent;
}

.app-page #scrollayer ul.menu ul li {
	float: none;
	width: 100%;
	margin: 0;
}

.app-page #scrollayer ul.menu ul li a,
.app-page #scrollayer ul.menu ul li span.active {
	min-height: 36px;
	padding: 8px 10px;
	font-size: 12px;
}

.app-page main.body {
	box-sizing: border-box;
	width: auto;
	min-height: calc(100vh - 72px);
	margin: 0 0 0 260px;
	padding: 104px clamp(22px, 3vw, 48px) 42px;
}

.app-page main.body > h1 {
	margin: 0 0 24px;
	color: var(--pm-text);
	font-size: clamp(27px, 3vw, 38px);
	font-weight: 760;
	letter-spacing: -0.035em;
}

.app-page main.body > .container {
	width: 100%;
	margin: 0;
	padding: 0;
}

.app-page .tcecontentbox {
	width: 100%;
	padding: 0;
	overflow: visible;
	border: 0;
	background: transparent;
}

.app-page table.testlist,
.app-page table.testlist tbody,
.app-page table.testlist tr,
.app-page table.testlist td {
	box-sizing: border-box;
}

.app-page table.testlist {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.app-page table.testlist thead {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.app-page table.testlist tbody {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
	gap: 18px;
	width: 100%;
}

.app-page table.testlist tr {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-content: start;
	min-height: 226px;
	padding: 22px;
	border: 1px solid var(--pm-border);
	border-radius: 15px;
	background: var(--pm-card);
	box-shadow: 0 4px 14px rgba(36, 59, 83, 0.055);
	font-size: 14px;
	transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.app-page table.testlist tr:hover {
	border-color: #b7c8da;
	box-shadow: 0 10px 26px rgba(36, 59, 83, 0.11);
	transform: translateY(-2px);
}

.app-page table.testlist td {
	display: block;
	min-width: 0;
	padding: 0;
	border: 0;
	color: var(--pm-text);
	text-align: left !important;
}

.app-page table.testlist td:first-child {
	grid-column: 1 / -1;
	min-height: 78px;
	padding-bottom: 18px;
	border-bottom: 1px solid #e7edf4;
}

.app-page table.testlist td:first-child strong {
	font-size: 17px;
	line-height: 1.35;
}

.app-page table.testlist td:first-child a {
	color: var(--pm-primary-dark);
}

.app-page table.testlist td:nth-child(2),
.app-page table.testlist td:nth-child(3) {
	padding-top: 17px;
	color: var(--pm-muted) !important;
	font-size: 12px;
	line-height: 1.45;
}

.app-page table.testlist td:nth-child(2)::before,
.app-page table.testlist td:nth-child(3)::before {
	display: block;
	margin-bottom: 4px;
	color: #9aa9ba;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.app-page table.testlist td:nth-child(2)::before {
	content: "Начало";
}

.app-page table.testlist td:nth-child(3)::before {
	content: "Окончание";
}

.app-page table.testlist td:nth-child(4) {
	align-self: end;
	min-height: 34px;
	padding-top: 17px;
	color: var(--pm-muted);
	font-size: 12px;
}

.app-page table.testlist td:nth-child(5) {
	align-self: end;
	justify-self: end;
	padding-top: 14px;
}

.app-page table.testlist a.buttongreen,
.app-page table.testlist a.buttonblue,
.app-page table.testlist a.xmlbutton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 16px;
	border: 0;
	border-radius: 9px;
	background: var(--pm-primary);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.app-page table.testlist a.buttongreen {
	background: var(--pm-success);
}

.app-page table.testlist a.buttongreen:hover,
.app-page table.testlist a.buttonblue:hover,
.app-page table.testlist a.xmlbutton:hover {
	filter: brightness(1.08);
}

.app-page .pagehelp {
	box-sizing: border-box;
	width: 100%;
	margin-top: 24px;
	padding: 14px 17px;
	border: 1px solid #d6e4f2;
	border-radius: 11px;
	background: #edf6ff;
	color: #486581;
	font-size: 12px;
	line-height: 1.55;
}

.app-page footer.footer {
	box-sizing: border-box;
	margin-left: 260px;
	padding: 16px 32px 22px;
	background: var(--pm-canvas);
}

.app-page footer .minibutton span.copyright {
	background: transparent;
	color: var(--pm-muted);
}

@media (max-width: 840px) {
	.app-page .header {
		position: relative;
		width: 100%;
		height: 72px;
		padding: 16px 18px;
	}

	.app-page .header div.right {
		position: absolute;
		left: auto;
		right: 14px;
		height: 72px;
		padding: 0;
		border: 0;
		background: transparent;
	}

	.app-page .header div.right,
	.app-page .header div.right input {
		color: #fff;
	}

	.app-page .header a.site-brand span {
		display: none;
	}

	.app-page #scrollayer.scrollmenu {
		position: static;
		width: 100%;
		height: auto;
		padding: 7px 10px;
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
	}

	.app-page #scrollayer ul.menu {
		flex-direction: row;
		width: max-content;
	}

	.app-page #scrollayer ul.menu > li {
		width: auto;
	}

	.app-page #scrollayer ul.menu li a,
	.app-page #scrollayer ul.menu li span.active {
		width: auto;
		min-height: 38px;
		padding: 8px 12px;
	}

	.app-page #scrollayer ul.menu li a::before,
	.app-page #scrollayer ul.menu li span.active::before,
	.app-page #scrollayer ul.menu li > ul {
		display: none;
	}

	.app-page main.body {
		min-height: 0;
		margin-left: 0;
		padding: 28px 16px 30px;
	}

	.app-page table.testlist tbody {
		grid-template-columns: 1fr;
	}

	.app-page footer.footer {
		margin-left: 0;
	}
}

/* Authenticated application shell v2. Guest sign-in styles above stay untouched. */
.app-page {
	--app-sidebar: 264px;
	--app-sidebar-collapsed: 76px;
	--app-topbar: 72px;
	--app-navy: #123453;
	--app-navy-deep: #0d2943;
	--app-blue: #1667a8;
	--app-blue-soft: #eaf3fb;
	--app-surface: #ffffff;
	--app-canvas: #f5f7fa;
	--app-line: #dfe6ee;
	--app-text: #1d3449;
	--app-muted: #687d92;
	background: var(--app-canvas);
}

.app-page .header {
	display: flex;
	align-items: stretch;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 30;
	width: 100%;
	height: var(--app-topbar);
	padding: 0;
	border-bottom: 1px solid var(--app-line);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 2px 14px rgba(25, 48, 70, 0.05);
	backdrop-filter: blur(12px);
}

.app-page .header div.left {
	display: flex;
	align-items: center;
	flex: 0 0 var(--app-sidebar);
	width: var(--app-sidebar);
	height: var(--app-topbar);
	padding: 0 17px;
	background: linear-gradient(145deg, var(--app-navy), var(--app-navy-deep));
	transition: width 180ms ease, flex-basis 180ms ease;
}

.app-page .app-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	margin: 0 13px 0 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.08);
	box-shadow: none;
	color: #fff;
}

.app-page .app-menu-toggle:hover,
.app-page .app-menu-toggle:focus-visible {
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.15);
}

.app-page .app-menu-toggle span,
.app-page .app-menu-toggle span::before,
.app-page .app-menu-toggle span::after {
	display: block;
	width: 16px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.app-page .app-menu-toggle span {
	position: relative;
}

.app-page .app-menu-toggle span::before,
.app-page .app-menu-toggle span::after {
	content: "";
	position: absolute;
	left: 0;
}

.app-page .app-menu-toggle span::before { top: -5px; }
.app-page .app-menu-toggle span::after { top: 5px; }

.app-page .header a.site-brand {
	display: block;
	min-width: 0;
	overflow: hidden;
	color: #fff;
	white-space: nowrap;
}

.app-page .header a.site-brand strong {
	display: block;
	font-size: 16px;
	font-weight: 760;
	letter-spacing: -0.02em;
}

.app-page .header a.site-brand span {
	display: block;
	margin-top: 3px;
	color: #a9bed0;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.app-page .header div.right {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 1 1 auto;
	box-sizing: border-box;
	position: static;
	width: auto;
	height: var(--app-topbar);
	min-width: 0;
	padding: 0 clamp(20px, 2.6vw, 42px);
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--app-text);
}

.app-page .app-page-context {
	display: flex;
	align-items: baseline;
	min-width: 0;
	gap: 11px;
}

.app-page .app-page-context span {
	color: #8798a8;
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.app-page .app-page-context strong {
	overflow: hidden;
	color: var(--app-text);
	font-size: 15px;
	font-weight: 740;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.app-page .app-header-meta {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.app-page .app-user-chip {
	max-width: 190px;
	overflow: hidden;
	padding: 7px 11px;
	border: 1px solid #dfe7ef;
	border-radius: 999px;
	background: #f7f9fb;
	color: #526a80;
	font-size: 11px;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.app-page .app-header-meta input,
.app-page .app-header-meta #timer {
	width: auto;
	min-width: 148px;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: #52677a;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.app-page #scrollayer.scrollmenu {
	box-sizing: border-box;
	position: fixed;
	top: var(--app-topbar);
	bottom: 0;
	left: 0;
	z-index: 24;
	width: var(--app-sidebar);
	height: auto;
	padding: 17px 13px 28px;
	overflow-x: hidden;
	overflow-y: auto;
	background: var(--app-navy-deep);
	transition: width 180ms ease, transform 180ms ease;
}

.app-page #scrollayer ul.menu {
	gap: 5px;
}

.app-page #scrollayer ul.menu li a,
.app-page #scrollayer ul.menu li span.active {
	min-height: 44px;
	padding: 10px 13px;
	border-radius: 11px;
	color: #d5e0ea;
	font-size: 13px;
	font-weight: 680;
}

.app-page #scrollayer ul.menu li a:hover,
.app-page #scrollayer ul.menu li a:focus-visible {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.app-page #scrollayer ul.menu li a.active,
.app-page #scrollayer ul.menu li span.active {
	background: #1c6da9;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
	color: #fff;
}

.app-page #scrollayer span[data-menu-link="index.php"]::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E");
}

.app-page #scrollayer span[data-menu-link*="allresults"]::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 19V9M10 19V5M16 19v-7M22 19H2'/%3E%3C/svg%3E");
}

.app-page #scrollayer span[data-menu-link*="page_user"]::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0116 0'/%3E%3C/svg%3E");
}

.app-page main.body {
	box-sizing: border-box;
	width: auto;
	max-width: none;
	min-height: calc(100vh - var(--app-topbar));
	margin: 0 0 0 var(--app-sidebar);
	padding: 108px clamp(24px, 3vw, 48px) 44px;
	transition: margin-left 180ms ease;
}

.app-page main.body > h1,
.app-page main.body > .container {
	width: min(100%, 1520px);
	margin-right: auto;
	margin-left: auto;
}

.app-page main.body > h1 {
	margin-bottom: 20px;
	font-size: clamp(27px, 2.2vw, 34px);
	font-weight: 780;
	letter-spacing: -0.035em;
	line-height: 1.15;
}

.app-page .catalog-toolbar {
	align-items: center;
	margin-bottom: 18px;
	padding: 12px 14px;
	border: 1px solid var(--app-line);
	border-radius: 14px;
	background: var(--app-surface);
	box-shadow: 0 3px 12px rgba(29, 52, 73, 0.035);
}

.app-page .catalog-toolbar label {
	padding-left: 4px;
	color: #526b82;
	font-size: 11px;
}

.app-page .catalog-search-wrap {
	width: min(100%, 500px);
}

.app-page #catalog-search {
	height: 42px;
	border-color: #d6e0e9;
	border-radius: 10px;
	background-color: #f8fafc;
	box-shadow: none;
}

.app-page .catalog-count {
	min-width: 76px;
	font-weight: 650;
}

.app-page table.testlist tbody {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.app-page table.testlist tr {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-areas:
		"title title"
		"start finish"
		"status action";
	grid-template-rows: minmax(48px, auto) auto auto;
	gap: 13px 16px;
	min-height: 184px;
	padding: 17px;
	overflow: hidden;
	border: 1px solid var(--app-line);
	border-top: 1px solid var(--app-line);
	border-radius: 15px;
	background: var(--app-surface);
	box-shadow: 0 3px 12px rgba(29, 52, 73, 0.045);
	transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.app-page table.testlist tr:hover {
	border-color: #bfcedc;
	box-shadow: 0 10px 26px rgba(29, 52, 73, 0.09);
	transform: translateY(-2px);
}

.app-page table.testlist tr.test-card-closed {
	background: #fbfcfd;
}

.app-page table.testlist tr.test-card-available {
	border-color: #b8dfce;
}

.app-page table.testlist td:first-child {
	grid-area: title;
	min-height: 0;
	padding: 0 0 12px;
	border-bottom: 1px solid #edf1f5;
}

.app-page table.testlist td:first-child strong {
	display: block;
	font-size: 15px;
	font-weight: 740;
	line-height: 1.35;
}

.app-page table.testlist td:first-child a {
	color: #12588f;
}

.app-page table.testlist td:nth-child(2) { grid-area: start; }
.app-page table.testlist td:nth-child(3) { grid-area: finish; }

.app-page table.testlist td:nth-child(2),
.app-page table.testlist td:nth-child(3) {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 0;
	color: var(--app-muted) !important;
	font-size: 11px;
	line-height: 1.35;
}

.app-page table.testlist td:nth-child(2)::before,
.app-page table.testlist td:nth-child(3)::before {
	margin-bottom: 5px;
	color: #9aa9b7;
	font-size: 9px;
	letter-spacing: 0.08em;
}

.app-page table.testlist .card-date {
	overflow: hidden;
	color: #5d7185;
	font-weight: 630;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.app-page table.testlist .card-time {
	margin-top: 2px;
	color: #2d465d;
	font-size: 13px;
	font-weight: 760;
	font-variant-numeric: tabular-nums;
}

.app-page table.testlist td:nth-child(4) {
	display: flex;
	align-items: end;
	grid-area: status;
	min-height: 34px;
	padding: 0;
	overflow: visible;
}

.app-page .test-status {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 4px 9px;
	border-radius: 999px;
	background: #edf1f5;
	color: #6f8192;
	font-size: 10px;
	font-weight: 760;
	white-space: nowrap;
}

.app-page .test-card-available .test-status {
	background: #e6f5ee;
	color: #197452;
}

.app-page .test-card-progress .test-status {
	background: #e7f1fa;
	color: #17639d;
}

.app-page .test-card-repeat .test-status {
	background: #f1ebf8;
	color: #6f4b92;
}

.app-page .test-card-upcoming .test-status {
	background: #fff3d9;
	color: #966910;
}

.app-page table.testlist td:nth-child(5) {
	display: flex;
	align-items: end;
	justify-content: flex-end;
	grid-area: action;
	padding: 0;
}

.app-page table.testlist a.buttongreen,
.app-page table.testlist a.buttonblue,
.app-page table.testlist a.xmlbutton {
	min-width: 0;
	min-height: 34px;
	padding: 8px 12px;
	border-radius: 9px;
	font-size: 10px;
	font-weight: 780;
}

.app-page .tceformbox,
.app-page .tcecontentbox:not(:has(table.testlist)),
.app-page main.body > .container.anyFormBox {
	box-sizing: border-box;
	padding: clamp(18px, 2.4vw, 30px);
	border: 1px solid var(--app-line);
	border-radius: 16px;
	background: var(--app-surface);
	box-shadow: 0 4px 18px rgba(29, 52, 73, 0.05);
}

.app-page table:not(.testlist) {
	border: 1px solid var(--app-line);
	border-radius: 12px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.app-page table:not(.testlist) th {
	background: #f3f7fa;
	color: #405a71;
	font-size: 12px;
}

.app-page table:not(.testlist) td {
	border-color: #e7edf3;
	font-size: 12px;
}

.app-page footer.footer {
	box-sizing: border-box;
	width: auto;
	margin-left: var(--app-sidebar);
	padding: 10px clamp(24px, 3vw, 48px) 22px;
	background: var(--app-canvas);
	transition: margin-left 180ms ease;
}

.app-page.sidebar-collapsed .header div.left {
	flex-basis: var(--app-sidebar-collapsed);
	width: var(--app-sidebar-collapsed);
	padding: 0 19px;
}

.app-page.sidebar-collapsed .app-menu-toggle {
	margin-right: 0;
}

.app-page.sidebar-collapsed .header a.site-brand {
	display: none;
}

.app-page.sidebar-collapsed #scrollayer.scrollmenu {
	width: var(--app-sidebar-collapsed);
	padding-right: 10px;
	padding-left: 10px;
}

.app-page.sidebar-collapsed #scrollayer ul.menu li a,
.app-page.sidebar-collapsed #scrollayer ul.menu li span.active {
	justify-content: center;
	padding-right: 0;
	padding-left: 0;
	font-size: 0;
}

.app-page.sidebar-collapsed #scrollayer ul.menu li a::before,
.app-page.sidebar-collapsed #scrollayer ul.menu li span.active::before {
	width: 20px;
	height: 20px;
	margin-right: 0;
	background-size: 20px 20px;
}

.app-page.sidebar-collapsed #scrollayer ul.menu li > ul {
	display: none;
}

.app-page.sidebar-collapsed main.body,
.app-page.sidebar-collapsed footer.footer {
	margin-left: var(--app-sidebar-collapsed);
}

@media (max-width: 1450px) {
	.app-page table.testlist tbody {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1120px) {
	.app-page table.testlist tbody {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.app-page .app-page-context span,
	.app-page .app-user-chip {
		display: none;
	}
}

@media (max-width: 900px) {
	.app-page .header div.left,
	.app-page.sidebar-collapsed .header div.left {
		flex-basis: 64px;
		width: 64px;
		padding: 0 13px;
	}

	.app-page .header a.site-brand {
		display: none;
	}

	.app-page .app-menu-toggle {
		margin: 0;
	}

	.app-page .header div.right {
		position: static;
		height: var(--app-topbar);
		padding: 0 16px;
		background: transparent;
		color: var(--app-text);
	}

	.app-page .header div.right,
	.app-page .header div.right input {
		color: var(--app-text);
	}

	.app-page #scrollayer.scrollmenu,
	.app-page.sidebar-collapsed #scrollayer.scrollmenu {
		position: fixed;
		top: var(--app-topbar);
		bottom: 0;
		width: min(82vw, 286px);
		height: auto;
		padding: 16px 13px 28px;
		transform: translateX(-102%);
	}

	.app-page.sidebar-mobile-open #scrollayer.scrollmenu {
		transform: translateX(0);
		box-shadow: 16px 0 42px rgba(8, 27, 43, 0.28);
	}

	.app-page #scrollayer ul.menu,
	.app-page.sidebar-collapsed #scrollayer ul.menu {
		flex-direction: column;
		width: 100%;
	}

	.app-page #scrollayer ul.menu > li,
	.app-page.sidebar-collapsed #scrollayer ul.menu > li {
		width: 100%;
	}

	.app-page.sidebar-collapsed #scrollayer ul.menu li a,
	.app-page.sidebar-collapsed #scrollayer ul.menu li span.active {
		justify-content: flex-start;
		padding: 10px 13px;
		font-size: 13px;
	}

	.app-page.sidebar-collapsed #scrollayer ul.menu li a::before,
	.app-page.sidebar-collapsed #scrollayer ul.menu li span.active::before {
		width: 18px;
		height: 18px;
		margin-right: 12px;
	}

	.app-page main.body,
	.app-page.sidebar-collapsed main.body {
		width: 100%;
		margin-left: 0;
		padding: 96px 16px 32px;
	}

	.app-page footer.footer,
	.app-page.sidebar-collapsed footer.footer {
		width: 100%;
		margin-left: 0;
	}

	.app-page .catalog-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.app-page .catalog-search-wrap {
		width: 100%;
		margin-left: 0;
	}
}

/* Keep the v2 authenticated shell authoritative over the older polish layer. */
body.app-page .header {
	display: flex;
	width: 100%;
	height: var(--app-topbar);
	padding: 0;
	border-bottom: 1px solid var(--app-line);
	background: rgba(255, 255, 255, 0.96);
}

body.app-page .header div.left {
	width: var(--app-sidebar);
	height: var(--app-topbar);
	padding: 0 17px;
	background: linear-gradient(145deg, var(--app-navy), var(--app-navy-deep));
}

body.app-page .header a.site-brand strong {
	font-size: 16px;
}

body.app-page .header div.right {
	position: static;
	left: auto;
	width: auto;
	height: var(--app-topbar);
	padding: 0 clamp(20px, 2.6vw, 42px);
}

body.app-page #scrollayer.scrollmenu {
	top: var(--app-topbar);
	width: var(--app-sidebar);
	padding: 17px 13px 28px;
	background: var(--app-navy-deep);
}

body.app-page #scrollayer ul.menu li a,
body.app-page #scrollayer ul.menu li span.active {
	min-height: 44px;
	border-radius: 11px;
	font-size: 13px;
}

body.app-page main.body {
	width: auto;
	max-width: none;
	margin-left: var(--app-sidebar);
	padding: 108px clamp(24px, 3vw, 48px) 44px;
}

body.app-page main.body > h1 {
	margin-bottom: 20px;
	font-size: clamp(27px, 2.2vw, 34px);
}

body.app-page .catalog-toolbar {
	align-items: center;
	margin-bottom: 18px;
	padding: 12px 14px;
}

body.app-page .catalog-search-wrap {
	width: min(100%, 500px);
}

body.app-page #catalog-search {
	height: 42px;
	border-color: #d6e0e9;
	border-radius: 10px;
	background-color: #f8fafc;
	box-shadow: none;
}

body.app-page table.testlist tbody {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

body.app-page table.testlist tr {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-areas: "title title" "start finish" "status action";
	grid-template-rows: minmax(48px, auto) auto auto;
	gap: 13px 16px;
	min-height: 184px;
	padding: 17px;
	border: 1px solid var(--app-line);
	border-radius: 15px;
	background: var(--app-surface);
}

body.app-page table.testlist tr.test-card-available,
body.app-page table.testlist tr.test-card-progress,
body.app-page table.testlist tr.test-card-repeat,
body.app-page table.testlist tr.test-card-closed,
body.app-page table.testlist tr.test-card-upcoming {
	border-top-width: 1px;
}

body.app-page table.testlist tr.test-card-available {
	border-color: #b8dfce;
}

body.app-page table.testlist td:first-child {
	grid-area: title;
	min-height: 0;
	padding: 0 0 12px;
}

body.app-page table.testlist td:first-child strong {
	font-size: 15px;
	line-height: 1.35;
}

body.app-page table.testlist td:nth-child(2),
body.app-page table.testlist td:nth-child(3) {
	padding: 0;
}

body.app-page table.testlist td:nth-child(4) {
	min-height: 34px;
	padding: 0;
	overflow: visible;
}

body.app-page table.testlist a.buttongreen,
body.app-page table.testlist a.buttonblue,
body.app-page table.testlist a.xmlbutton {
	min-width: 0;
	min-height: 34px;
	padding: 8px 12px;
	font-size: 10px;
}

body.app-page footer.footer {
	width: auto;
	margin-left: var(--app-sidebar);
	padding: 10px clamp(24px, 3vw, 48px) 22px;
}

body.app-page.sidebar-collapsed .header div.left {
	width: var(--app-sidebar-collapsed);
	padding: 0 19px;
}

body.app-page.sidebar-collapsed #scrollayer.scrollmenu {
	width: var(--app-sidebar-collapsed);
	padding-right: 10px;
	padding-left: 10px;
}

body.app-page.sidebar-collapsed #scrollayer ul.menu li a,
body.app-page.sidebar-collapsed #scrollayer ul.menu li span.active {
	font-size: 0;
}

body.app-page.sidebar-collapsed main.body,
body.app-page.sidebar-collapsed footer.footer {
	margin-left: var(--app-sidebar-collapsed);
}

@media (max-width: 1450px) {
	body.app-page table.testlist tbody {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1120px) {
	body.app-page table.testlist tbody {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	body.app-page .header div.left,
	body.app-page.sidebar-collapsed .header div.left {
		width: 64px;
		padding: 0 13px;
	}

	body.app-page .header div.right {
		position: static;
		height: var(--app-topbar);
		padding: 0 16px;
	}

	body.app-page #scrollayer.scrollmenu,
	body.app-page.sidebar-collapsed #scrollayer.scrollmenu {
		top: var(--app-topbar);
		width: min(82vw, 286px);
		padding: 16px 13px 28px;
		transform: translateX(-102%);
	}

	body.app-page.sidebar-mobile-open #scrollayer.scrollmenu {
		transform: translateX(0);
	}

	body.app-page.sidebar-collapsed #scrollayer ul.menu li a,
	body.app-page.sidebar-collapsed #scrollayer ul.menu li span.active {
		font-size: 13px;
	}

	body.app-page main.body,
	body.app-page.sidebar-collapsed main.body {
		width: 100%;
		margin-left: 0;
		padding: 96px 16px 32px;
	}

	body.app-page footer.footer,
	body.app-page.sidebar-collapsed footer.footer {
		width: 100%;
		margin-left: 0;
	}

	body.app-page .catalog-toolbar {
		align-items: stretch;
	}

	body.app-page .catalog-search-wrap {
		width: 100%;
	}
}

@media (max-width: 640px) {
	body.app-page table.testlist tbody {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.app-page table.testlist tbody {
		grid-template-columns: 1fr;
	}

	.app-page .app-page-context strong {
		font-size: 13px;
	}

	.app-page .app-header-meta #timer,
	.app-page .app-header-meta input {
		display: none;
	}
}

/* Picoman-compatible guest sign-in page. */
body.login-page {
	background-size:cover;
	background-position:center;
	background-attachment:fixed;
	--background: #fff;
	--text: #415462;
	--h2: #2c3d49;
	--muted-text: #73828c;
	--muted-border: #e3e8ec;
	--card-background: #fff;
	--input-background: #fff;
	--input-border: #c8d1d8;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 100vh;
	background-image: var(--login-background-image, linear-gradient(160deg, #08769b 0, #1095c1 28rem, #edf0f3 28rem, #f7f9fa 100%));
	background-color: #edf0f3;
	color: var(--text);
}

.login-page .skiplink,
.login-page main > h1,
.login-page .header div.right,
.login-page footer .userbar,
.login-page footer .minibutton:not(:last-child),
.login-page .login-menu-toggle {
	display: none;
}

.login-page .header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	width: min(1120px, calc(100% - 32px));
	height: 76px;
	margin: 0 auto;
	padding: 0;
}

.login-page .header div.left {
	width: auto;
	height: auto;
	padding: 0;
	background: none;
}

.login-page .header a.site-brand {
	display: flex;
	flex-direction: column;
	color: #fff;
	line-height: 1.12;
}

.login-page .header a.site-brand strong {
	font-size: 17px;
	font-weight: 750;
}

.login-page .header a.site-brand span {
	margin-top: 4px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.login-page #header_button {
	top: 18px;
	right: max(18px, calc((100vw - 1120px) / 2));
	z-index: 12;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 8px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.login-page #scrollayer {
	position: fixed;
	top: 0;
	right: -400px;
	z-index: 11;
	box-sizing: border-box;
	width: min(360px, 86vw);
	height: 100vh;
	box-sizing: border-box;
	padding-top: 78px;
	background: #fff;
	box-shadow: var(--card-shadow);
	opacity: 0;
}

.login-page #scrollayer.slide-in {
	right: 0;
	opacity: 1;
}

.login-page #scrollayer.slide-out {
	right: -400px;
	opacity: 0;
}

.login-page #scrollayer::before {
	content: "Навигация";
	display: block;
	margin-bottom: 18px;
	font-size: 18px;
	font-weight: 700;
}

.login-page #scrollayer ul.menu,
.login-page #scrollayer ul.menu li {
	padding: 0;
	list-style: none;
}

.login-page .login-menu-links {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--muted-border);
}

.login-page .login-menu-links a {
	display: block;
	padding: 10px 0;
}

.login-page main.body {
	display: flex;
	flex: 1 0 auto;
	align-items: flex-start;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	padding: 30px 16px 48px;
}

.login-page .login-container {
	width: min(440px, 100%);
	margin: 0 auto;
	padding: 0;
}

.login-page .login-box {
	box-sizing: border-box;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: var(--card-background);
	box-shadow: var(--card-shadow);
	overflow: hidden;
}

.login-page .login-brand {
	padding: 20px 36px 16px;
	border-bottom: 1px solid var(--muted-border);
	text-align: center;
}

.login-page .login-brand img {
	display: block;
	width: 64px;
	height: 64px;
	margin: 0 auto 10px;
	object-fit: contain;
}

.login-page .login-brand p {
	margin: 0;
	color: var(--h2);
	font-size: 18px;
	font-weight: 700;
}

.login-page .login-intro {
	margin: 0;
	padding: 16px 36px 6px;
	color: var(--muted-text);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.login-page .login-box form {
	position: relative;
	margin: 0;
	padding: 12px 36px 6px;
	background: transparent;
	box-shadow: none;
}

.login-page .login-box form > .row {
	display: block;
	margin: 0 0 16px;
	padding: 0;
}

.login-page .login-box form > .row span.label,
.login-page .login-box form > .row span.formw {
	display: block;
	float: none;
	width: 100%;
	padding: 0;
	text-align: left;
}

.login-page .login-box form > .row span.label {
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 650;
}

.login-page .login-box input[type="text"],
.login-page .login-box input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 46px 0 14px;
	border-radius: 7px;
}

.login-page .password-toggle {
	position: absolute;
	top: 108px;
	right: 40px;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--secondary);
}

.login-page #xuser_password + .icon-eye {
	display: none;
}

.login-page .login-box .login-submit {
	margin-top: 6px;
}

.login-page .login-box #login {
	width: 100%;
	margin: 0;
	border-radius: 7px;
	font-weight: 700;
	text-transform: none;
}

.login-page .login-support {
	padding: 14px 36px 18px;
	border-top: 1px solid var(--muted-border);
	font-size: 13px;
	line-height: 1.45;
	text-align: center;
}

.login-page .login-support p {
	margin: 0 0 12px;
}

.login-page .login-support p:last-child {
	margin-bottom: 0;
}

.login-page footer.footer {
	padding: 12px 16px 18px;
	background: transparent;
	text-align: center;
}

.login-page footer .minibutton:last-child {
	display: block;
}

.login-page footer span.institution-credit {
	color: var(--muted-text);
	font-size: 11px;
}

.login-page footer span.upstream-credit {
	display: none;
}

@media (max-width: 520px) {
	body.login-page {
		background: linear-gradient(160deg, #08769b 0, #1095c1 18rem, #edf0f3 18rem);
	}

	.login-page .header {
		height: 66px;
	}

	.login-page main.body {
		padding-top: 18px;
	}

	.login-page .login-brand,
	.login-page .login-intro,
	.login-page .login-box form,
	.login-page .login-support {
		padding-right: 24px;
		padding-left: 24px;
	}

	.login-page .password-toggle {
		right: 28px;
	}
}

@layer legacy-authenticated-polish {
/* Final OpenVsoshCBT polish layer. */
.app-page {
	--pm-sidebar: #123557;
	--pm-primary: #1769aa;
	--pm-primary-dark: #104c7e;
	--pm-canvas: #f4f7fb;
	--pm-border: #dfe7ef;
	background: var(--pm-canvas);
}

.app-page .header,
.app-page #scrollayer.scrollmenu {
	width: 248px;
}

.app-page .header {
	height: 112px;
	padding: 27px 22px 20px;
	background: linear-gradient(145deg, #153d63, #102d4a);
}

.app-page .header a.site-brand strong {
	font-size: 19px;
	line-height: 1.15;
}

.app-page .header div.right {
	left: 248px;
	height: 68px;
	padding: 0 38px;
	color: #63758a;
}

.app-page #scrollayer.scrollmenu {
	top: 112px;
	padding: 13px 13px 28px;
	background: #102d4a;
}

.app-page #scrollayer ul.menu {
	gap: 4px;
}

.app-page #scrollayer ul.menu li a,
.app-page #scrollayer ul.menu li span.active {
	min-height: 46px;
	border-radius: 10px;
	font-size: 13px;
}

.app-page #scrollayer ul.menu li a::before,
.app-page #scrollayer ul.menu li span.active::before {
	width: 18px;
	height: 18px;
	margin-right: 12px;
	border: 0;
	border-radius: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 18px 18px;
	opacity: 0.82;
}

.app-page #scrollayer a[href="index.php"]::before,
.app-page #scrollayer span.active::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E");
}

.app-page #scrollayer a[href*="allresults"]::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 19V9M10 19V5M16 19v-7M22 19H2'/%3E%3C/svg%3E");
}

.app-page #scrollayer a[href*="page_user"]::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0116 0'/%3E%3C/svg%3E");
}

.app-page #scrollayer a[href*="admin/code"]::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3C/svg%3E");
}

.app-page #scrollayer a[href*="logout"]::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3'/%3E%3Cpath d='M14 3h6v18h-6'/%3E%3C/svg%3E");
}

.app-page main.body {
	box-sizing: border-box;
	width: min(calc(100% - 248px), 1640px);
	margin-left: 248px;
	padding: 103px clamp(28px, 3vw, 52px) 46px;
}

.app-page main.body > h1 {
	margin-bottom: 22px;
	font-size: 34px;
	line-height: 1.15;
}

.app-page .catalog-toolbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 22px;
}

.app-page .catalog-toolbar label {
	margin: 0;
	color: #5f7287;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.app-page .catalog-search-wrap {
	display: flex;
	align-items: center;
	gap: 13px;
	width: min(100%, 460px);
	margin-left: auto;
}

.app-page #catalog-search {
	box-sizing: border-box;
	height: 44px;
	margin: 0;
	padding: 0 15px 0 42px;
	border: 1px solid #ccd8e5;
	border-radius: 11px;
	background-color: #fff;
	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='%23788ca2' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E");
	background-position: 13px center;
	background-repeat: no-repeat;
	box-shadow: 0 2px 7px rgba(36, 59, 83, 0.035);
	font-size: 14px;
}

.app-page #catalog-search:focus {
	border-color: #65a0d0;
	box-shadow: 0 0 0 4px rgba(23, 105, 170, 0.11);
}

.app-page .catalog-count {
	min-width: 52px;
	color: #74869a;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
}

.app-page table.testlist tbody {
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 17px;
}

.app-page table.testlist tr {
	position: relative;
	min-height: 222px;
	padding: 21px;
	border: 1px solid var(--pm-border);
	border-top: 4px solid #a8b5c3;
	border-radius: 13px;
	box-shadow: 0 3px 10px rgba(36, 59, 83, 0.045);
	overflow: hidden;
}

.app-page table.testlist tr[hidden] {
	display: none;
}

.app-page table.testlist tr.test-card-available {
	border-top-color: #2e9d72;
}

.app-page table.testlist tr.test-card-progress {
	border-top-color: #2b7dbd;
}

.app-page table.testlist tr.test-card-repeat {
	border-top-color: #8b67b2;
}

.app-page table.testlist tr.test-card-closed {
	border-top-color: #b8c2cd;
	background: #fbfcfd;
}

.app-page table.testlist tr:hover {
	transform: translateY(-1px);
	box-shadow: 0 9px 24px rgba(36, 59, 83, 0.1);
}

.app-page table.testlist td:first-child {
	min-height: 72px;
	padding-bottom: 16px;
}

.app-page table.testlist td:first-child strong {
	display: block;
	font-size: 16px;
	line-height: 1.42;
}

.app-page table.testlist td:nth-child(2),
.app-page table.testlist td:nth-child(3) {
	font-variant-numeric: tabular-nums;
}

.app-page table.testlist td:nth-child(4) {
	overflow: hidden;
	text-overflow: ellipsis;
}

.app-page table.testlist a.buttongreen,
.app-page table.testlist a.buttonblue,
.app-page table.testlist a.xmlbutton {
	min-width: 104px;
	min-height: 39px;
	border-radius: 9px;
	box-shadow: none;
	text-transform: none;
}

.app-page table.testlist a.buttongreen {
	background: #278d68;
}

.app-page table.testlist a.buttonblue {
	background: #76529c;
}

.app-page .pagehelp {
	display: none;
}

.app-page footer.footer {
	width: min(calc(100% - 248px), 1640px);
	margin-left: 248px;
	padding: 12px 52px 24px;
}

@media (min-width: 1500px) {
	.app-page table.testlist tbody {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 840px) {
	.app-page .header,
	.app-page #scrollayer.scrollmenu,
	.app-page main.body,
	.app-page footer.footer {
		width: 100%;
	}

	.app-page main.body,
	.app-page footer.footer {
		margin-left: 0;
	}

	.app-page .catalog-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.app-page .catalog-search-wrap {
		width: 100%;
		margin-left: 0;
	}
}
}
