/* Softer scrollbars and one shared visual language for every date and select. */
*{scrollbar-width:thin;scrollbar-color:#bec8d5 transparent}
*::-webkit-scrollbar{width:7px;height:7px;background:transparent}
*::-webkit-scrollbar-thumb{background:#bdc7d4;border:2px solid transparent;background-clip:padding-box;border-radius:20px}
*::-webkit-scrollbar-thumb:hover{background:#94a5ba;background-clip:padding-box}
*::-webkit-scrollbar-track{background:transparent;border-radius:20px}
*::-webkit-scrollbar-button{display:none;width:0;height:0}
*::-webkit-scrollbar-corner{background:transparent}
@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto;scrollbar-color:auto}}
.sidebar .nav{scrollbar-color:#5a6e87 transparent;scrollbar-gutter:stable;padding-right:4px;margin-right:-4px}
.sidebar .nav::-webkit-scrollbar{width:5px}
.sidebar .nav::-webkit-scrollbar-thumb{background:#5c7089;border:1px solid transparent;background-clip:padding-box}
.sidebar .nav::-webkit-scrollbar-thumb:hover{background:#8797ad;background-clip:padding-box}
.panel,.stat{border-radius:12px}.btn,.icon-btn,.nav button,input,select,textarea,.field input,.field select,.field textarea{border-radius:10px}
.modal{border-radius:16px}.modal-head{border-radius:16px 16px 0 0}.modal-foot{border-radius:0 0 16px 16px}
.cm-control{display:inline-flex;position:relative;min-width:0;vertical-align:middle;width:100%}
.cm-control>[hidden]{display:none!important}
.cm-date-control{width:156px}.cm-filter-control{width:145px}.field>.cm-control{width:100%}
.cm-time-control{width:112px}.window .cm-time-control{width:100%}.window .cm-control-trigger{padding:8px;font-size:11px;gap:6px}
.filter-date-group .cm-date-control{width:139px}.calendar-tools .cm-date-control{width:146px}.pal-register-tools .cm-select-control{width:180px}.panel-heading>.cm-select-control{width:158px}
.cm-control-trigger{display:flex;align-items:center;justify-content:space-between;gap:11px;width:100%;min-width:0;min-height:39px;padding:10px 12px;border:1px solid #dfe6ee;background:#fff;color:#4f627c;border-radius:10px;font:inherit;font-size:12px;font-weight:400;line-height:1.4;cursor:pointer;text-align:left;box-shadow:0 1px 2px #1c2f4903;transition:border-color .15s,box-shadow .15s,background .15s}
.cm-control-trigger:hover:not(:disabled){border-color:#b9c7d8;background:#fdfefe}
.cm-control-trigger[aria-expanded=true]{border-color:#dba45a;box-shadow:0 0 0 3px #ed941f13}
.cm-control-trigger:focus-visible{outline:3px solid #efaa5655;outline-offset:2px;border-color:#dba45a}
.cm-control-trigger:disabled{background:#f7f9fc;color:#9ba9ba;cursor:not-allowed;opacity:.8}
.cm-control-trigger svg{width:17px;height:17px;flex-shrink:0;color:#91a2b8}
.cm-control-trigger[aria-expanded=true] svg{color:#bd812d}.cm-control-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-control-trigger.cm-placeholder{color:#9aa8bb}
.cm-picker{position:fixed;inset:auto;margin:0;padding:15px;border:1px solid #e3e9f1;border-radius:18px;background:#fff;color:#425570;box-shadow:0 18px 55px #1e335320,0 3px 12px #1e33530a;z-index:1000;box-sizing:border-box;overflow:auto;font-family:"Segoe UI",Inter,Arial,sans-serif;font-size:12px;animation:cm-picker-in .12s ease-out}
.cm-picker::backdrop{background:transparent}.cm-picker-fallback{display:block}
.cm-picker button{font:inherit;cursor:pointer;border:0;box-shadow:none;min-width:0}
.cm-picker button:disabled{cursor:default;opacity:.32}.cm-picker button:focus-visible,.cm-picker input:focus-visible{outline:2px solid #dfa34f;outline-offset:1px}
.cm-calendar-caption,.cm-picker-caption{color:#9aa7b7;font-size:10px;line-height:1.5;margin:1px 4px 11px;letter-spacing:.1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-calendar-nav{display:grid;grid-template-columns:33px 1fr 33px;gap:7px;align-items:center;margin-bottom:17px}
.cm-period-nav{display:grid;place-items:center;height:33px;background:#f5f7fb;border:1px solid #edf1f6!important;border-radius:11px;color:#7e90aa}
.cm-period-nav:hover{background:#fff5e6;color:#ab7426}.cm-period-nav svg{width:17px;height:17px}
.cm-period-heading{display:flex;gap:6px;align-items:center;justify-content:center;background:none;color:#526781;font-size:14px!important;font-weight:600!important;padding:7px 0;border-radius:9px}.cm-period-heading b{font-weight:400;color:#93a2b5}.cm-period-heading svg{height:14px;width:14px;color:#a2afc0}
.cm-weekdays,.cm-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cm-weekdays{padding-bottom:9px;color:#a4afbe;font-size:10px;text-align:center}.cm-weekdays span{padding:5px 0}
.cm-date-day{height:35px;display:grid;place-items:center;padding:0;background:transparent;border-radius:11px;color:#61748e;font-size:12px!important;line-height:1;transition:background .12s,color .12s}
.cm-date-day:not(:disabled):hover{background:#fff2df;color:#9f6816}.cm-date-day.cm-outside{color:#c1c9d4}.cm-date-day.cm-today:not(.cm-selected){box-shadow:inset 0 0 0 1px #e6b46f;color:#a7762d}.cm-date-day.cm-selected{background:#edaa4c;color:#51370f;font-weight:700}.cm-date-day.cm-selected:hover{background:#e6a03a}
.cm-calendar-footer{display:flex;justify-content:space-between;gap:10px;margin-top:15px;padding-top:12px;border-top:1px solid #edf1f6}.cm-calendar-footer button{padding:8px 13px;border-radius:9px;background:#f6f8fb;color:#8696ab;font-size:11px}.cm-calendar-footer .cm-date-today{background:#fff4e3;color:#a9762b}.cm-calendar-footer button:hover:not(:disabled){background:#ffedcf;color:#9f6b20}.cm-calendar-help{color:#b4bdca;font-size:9px;text-align:center;margin-top:11px}
.cm-months{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;min-height:205px;align-content:start}.cm-months button{padding:13px 8px;border-radius:11px;background:#f7f9fc;color:#7588a2}.cm-months button:hover:not(:disabled){background:#fff0d9;color:#9f6c22}.cm-months .cm-chosen-period{background:#fff0d7;color:#a26d21;font-weight:600}
.cm-select-picker{padding:9px;overflow:hidden}.cm-picker-caption{margin:6px 7px 9px}.cm-options{overflow:auto;max-height:268px;padding:2px;overscroll-behavior:contain}.cm-option{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:39px;width:100%;padding:11px 12px;margin-bottom:3px;background:transparent;border-radius:10px;text-align:left;color:#71839c;line-height:1.5}.cm-option span{overflow-wrap:anywhere}.cm-option svg{width:16px;height:16px;flex-shrink:0;color:#b2823f}.cm-option:hover:not(:disabled),.cm-option:focus-visible{background:#f5f7fb;color:#445f80}.cm-option[aria-selected=true]{background:#fff4e4;color:#9e753b;font-weight:600}.cm-picker-search{width:calc(100% - 8px);margin:1px 4px 9px;padding:10px 12px;border:1px solid #e4eaf2;background:#fafbfd;border-radius:10px;color:#627892;font:inherit;font-size:12px;min-height:38px}.cm-no-options{padding:19px 12px;color:#a5b0c0;text-align:center;font-size:11px}
.cm-select-picker:popover-open,.cm-select-picker.cm-picker-fallback{display:flex;flex-direction:column}.cm-options{flex:1;min-height:0}.cm-select-picker .cm-picker-caption,.cm-select-picker .cm-picker-search{flex-shrink:0}
.cm-time-value{text-align:center;font-size:26px;font-weight:600;letter-spacing:2px;color:#6c809c;margin:9px 0 20px}.cm-time-columns{display:grid;grid-template-columns:1fr 1fr;gap:13px}.cm-time-label{font-size:10px;color:#a7b2c1;text-align:center;margin-bottom:9px}.cm-time-list{height:165px;overflow:auto;padding:3px;background:#f8fafd;border:1px solid #eef2f7;border-radius:12px;overscroll-behavior:contain}.cm-time-list button{display:block;width:100%;padding:9px;background:transparent;color:#8294ab;border-radius:9px;font-size:12px}.cm-time-list button[aria-selected=true]{background:#fff0d9;color:#a87931;font-weight:650}.cm-time-list button:hover:not(:disabled){background:#edf2f8}.cm-time-footer{display:flex;gap:9px;justify-content:flex-end;border-top:1px solid #edf1f6;padding-top:13px;margin-top:17px}.cm-time-footer button{background:#f5f7fb;color:#8b9ab0;padding:9px 12px;border-radius:9px;font-size:11px}.cm-time-footer .cm-time-confirm{background:#fff0d7;color:#a2742b}
.cm-picker .cm-picker-search:focus{border-color:#ddb16e;box-shadow:0 0 0 2px #ed941f0d}
@keyframes cm-picker-in{from{opacity:.2;translate:0 3px}to{opacity:1;translate:0 0}}
@media(max-width:700px){.cm-date-control{width:147px}.field>.cm-control{width:100%}.cm-picker{border-radius:18px;max-width:calc(100vw - 24px)}.cm-control-trigger{font-size:12px;min-height:40px;padding:10px}.filter-date-group .cm-date-control{width:133px}.cm-date-day{height:36px}.pal-filters .field>.cm-control{width:100%}}
@media(prefers-reduced-motion:reduce){.cm-picker{animation:none}.cm-control-trigger{transition:none}}
