:root{--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#eee;--color-neutral-300:#e0e0e0;--color-neutral-400:#bdbdbd;--color-neutral-500:#9e9e9e;--color-neutral-600:#757575;--color-neutral-700:#616161;--color-neutral-800:#424242;--color-neutral-900:#212121;--color-primary:#455a64;--color-primary-dark:#1c313a;--color-primary-light:#718792;--color-secondary:#d7ccc8;--color-secondary-dark:#a69b97;--color-secondary-light:#fffffb;--color-on-primary:var(--color-neutral-50);--color-on-primary-dark:var(--color-neutral-50);--color-on-primary-light:var(--color-neutral-900);--color-on-secondary:var(--color-neutral-900);--color-on-secondary-dark:var(--color-neutral-900);--color-on-secondary-light:var(--color-neutral-900);--color-delete:#d32f2f;--color-delete-dark:#c62828;--color-delete-light:#ffebee;--color-on-delete:var(--color-neutral-50);--color-on-delete-dark:var(--color-neutral-50);--color-on-delete-light:var(--color-neutral-900)}
:root{--radius-s:2px;--radius-m:4px;--radius-l:6px}

@layer components{.cp-dropdown{.wrapper{position:relative}.content{bottom:0;position:absolute;top:-10px}}}
.cp-order-control{cursor:pointer;margin-right:20px;-webkit-user-select:none;-moz-user-select:none;user-select:none;&.active{margin-right:0;.icon{display:inline-block;margin-left:4px;width:16px}}}
@layer components{.cp-button{backface-visibility:hidden;background-color:var(--color-background);border-radius:var(--radius-m);border-width:0;box-sizing:border-box;color:var(--color-text);cursor:pointer;font-weight:700;height:44px;outline:none;padding:0 25px;text-align:center;transition:all .2s,box-shadow .08s ease-in;-webkit-user-select:none;-moz-user-select:none;user-select:none;&:hover{background-color:var(--color-background-hover);color:var(--color-text-hover)}&:disabled{cursor:not-allowed}&:focus{box-shadow:inset 0 0 0 1px rgba(50,50,93,.1),0 6px 15px 0 rgba(50,50,93,.2),0 2px 2px 0 rgba(0,0,0,.1),0 0 0 4px rgba(50,151,211,.3)}&[data-variant=primary]{--color-text:var(--color-on-primary);--color-text-hover:var(--color-on-primary-dark);--color-background:var(--color-primary);--color-background-hover:var(--color-primary-dark)}&[data-variant=secondary]{--color-text:var(--color-on-secondary);--color-text-hover:var(--color-on-secondary-dark);--color-background:var(--color-secondary);--color-background-hover:var(--color-secondary-dark)}&[data-variant=outline]{--color-text:var(--color-neutral-900);--color-text-hover:var(--color-neutral-900);--color-background:var(--color-neutral-50);--color-background-hover:var(--color-neutral-50);--color-border:var(--color-neutral-300);border:3px solid var(--color-border);&:hover{--color-border:var(--color-neutral-400)}}&[data-variant=delete]{--text-color:var(--color-on-delete-light);--text-color-hover:var(--color-on-delete-dark);--background-color:var(--color-delete-light);--background-color-hover:var(--color-delete-dark);border:3px solid var(--color-delete);&:hover{border-color:var(--color-delete-dark)}}&[data-size=dense]{border-radius:var(--radius-m);height:28px;padding:0 10px}}}
.cp-routes-table{border-collapse:collapse;box-shadow:0 0 20px rgba(0,0,0,.15);font-family:sans-serif;font-size:1em;margin-block:25px;th{background-color:var(--color-neutral-200);border-bottom:2px solid var(--color-neutral-300);color:var(--color-on-secondary);text-align:left;white-space:nowrap}td{background-color:#fff}td,th{padding:12px 15px}tbody tr:hover td{background-color:var(--color-neutral-100)}tfoot{border-bottom:2px solid #000}.icon{display:block;width:16px}.dropdown{background-color:#fff;box-shadow:0 0 20px rgba(0,0,0,.15);color:#000;list-style:none;margin:0;padding:0}.dropdown-button{cursor:pointer}.dropdown-item{cursor:pointer;padding:12px 18px;white-space:nowrap;&:hover{background-color:#f5f5f5}}.controls{display:flex;flex-direction:column;gap:4px}.difficulty{align-items:center;display:flex;gap:4px;justify-content:center;width:100%}.chart{width:40px}}
.cp-columns-control{.item{display:block;&+&{margin-top:5px}}}
.cp-input-control{display:block;font-family:sans-serif;line-height:1.5rem;input[type=date],input[type=text]{background:transparent;border:3px solid var(--color-neutral-300);border-radius:var(--radius-m);box-sizing:border-box;color:#000;display:block;height:50px;line-height:1;outline:none;padding:.5rem;width:100%;&:hover{border-color:var(--color-neutral-400)}&:focus-visible{border-color:var(--color-neutral-500)}}}
.cp-select-control{display:block;font-family:sans-serif;line-height:1.5rem}.cp-select-control select{background:transparent;border:3px solid var(--color-neutral-300);border-radius:var(--radius-m);box-sizing:border-box;color:#000;display:block;outline:none;padding:.5rem;width:100%}.cp-select-control select:hover{border-color:var(--color-neutral-400)}.cp-select-control select:focus{border-color:var(--color-neutral-500)}
@media (min-width:400px){.cp-grading-control{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}}
.cp-route-form{.cp-route-form__content{min-width:360px;width:100%;@media (min-width:600px){display:grid;gap:10px;grid-template-columns:repeat(2,1fr);min-width:560px}@media (min-width:900px){display:grid;gap:10px;grid-template-columns:repeat(3,1fr);min-width:800px}}.cp-route-form__field{margin-block:10px}.cp-route-form__controls{display:flex;gap:10px;justify-content:flex-end;margin-top:26px}}
.cp-votes{display:flex;flex-direction:column;font-size:.8em;gap:4px;padding-right:20px;.item{display:grid;gap:2px;grid-template-columns:40px 1fr;position:relative;width:300px}.label{border:1px solid #2271b1;border-radius:2px;font-weight:700;padding:2px;text-align:center}.is-setter-grade .label{background-color:#2271b1;color:#fff}.bar{background-color:#2271b1;border-radius:4px;height:100%;position:relative;span{position:absolute;right:-26px;top:3px}}}
.cp-routes{.cp-routes__controls{display:flex;justify-content:space-between}.cp-routes__controls--left,.cp-routes__controls--right{align-items:center;display:flex;gap:10px}.cp-routes__columns-control{background-color:#fff;border:1px solid #000;padding:10px;width:180px}.cp-routes__year-select-control{cursor:pointer;padding:10px}.cp-routes__table{box-sizing:border-box;width:100%}.pagination-links{>*{margin-inline:2px}}.cp-routes__controls-bottom{text-align:right}.cp-routes__controls--filter{border:1px solid #333;border-radius:2px;cursor:pointer;display:inline-block;padding:6px;&:hover{border-color:currentColor;color:#b32d2e}}}
.cp-pagination{display:flex;gap:6px;justify-content:center;list-style:none;.cp-pagination__arrow{align-items:center;display:grid;justify-content:center}.cp-pagination__controller{input{text-align:center;width:40px}span{font-weight:bolder}}}
