.board-time-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:2px 4px;font-size:10px;color:#999;border-bottom:1px dashed #f0f0f0;-webkit-user-select:none;user-select:none}.board-slot{border-bottom:1px dashed #f0f0f0;cursor:pointer;transition:background .1s}.board-slot:hover{background:#1677ff08}.current-time-line{position:absolute;left:0;right:0;height:2px;background:#ff4d4f;box-shadow:0 0 3px #ff4d4f80;z-index:3;pointer-events:none}.current-time-line:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#ff4d4f}.appointment-card{position:absolute;left:4px;right:4px;border-radius:6px;padding:4px 6px;font-size:11px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:box-shadow .15s,transform .15s;z-index:2;touch-action:none}.appointment-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px);z-index:4}.appointment-card .time{font-size:10px;font-weight:600;margin-bottom:2px;opacity:.9}.appointment-card .client-name{font-weight:600;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:1px}.appointment-card .phone{font-size:9px;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-new{display:inline-block;background:#ffffff40;padding:1px 4px;border-radius:3px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.col-resize-handle{position:absolute;top:0;right:-4px;bottom:0;width:8px;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;z-index:1}.col-resize-handle:after{content:"";position:absolute;top:25%;bottom:25%;left:3px;width:2px;background:transparent;transition:background .1s}.col-resize-handle:hover:after{background:#1677ff}body.col-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.perm-wrap{overflow:auto;border:1px solid #f0f0f0;border-radius:8px}.perm-grid{display:grid;grid-template-columns:minmax(190px,1.2fr) repeat(3,84px) 126px 126px 84px minmax(160px,.9fr) 170px;min-width:1100px;align-items:center;font-size:13px}.perm-grid .perm-head{position:sticky;top:0;z-index:2;background:#fafafa;border-bottom:1px solid #e8e8e8;padding:8px 10px;font-size:11px;line-height:1.25;font-weight:600;color:#595959;text-transform:uppercase;letter-spacing:.03em;align-self:stretch;display:flex;align-items:flex-end}.perm-grid .perm-head.perm-center{justify-content:center;text-align:center;padding-left:2px;padding-right:2px}.perm-grid .perm-group{grid-column:1 / -1;display:flex;align-items:center;gap:8px;padding:7px 10px 7px 8px;margin-top:10px;background:#f0f5ff;border-left:3px solid #1677ff;border-top:1px solid #e6efff;border-bottom:1px solid #e6efff;font-weight:600;color:#10239e}.perm-grid .perm-group.perm-group-first{margin-top:0}.perm-grid .perm-group .perm-group-count{font-weight:400;font-size:12px;color:#597ef7}.perm-grid .perm-cell{padding:5px 10px;border-bottom:1px solid #f5f5f5;align-self:stretch;display:flex;align-items:center;min-height:36px}.perm-grid .perm-cell.perm-center{justify-content:center;padding-left:2px;padding-right:2px}.perm-grid .perm-cell.perm-odd{background:#fcfcfc}.perm-grid .perm-row{display:contents}.perm-grid .perm-row:hover>.perm-cell{background:#e6f4ff}.perm-grid .perm-name,.perm-grid .perm-name .ant-checkbox-wrapper{font-weight:500;color:#262626}.perm-grid .perm-special .ant-checkbox-wrapper{font-size:12px;line-height:1.3}.perm-grid .perm-cell.perm-own{padding-left:4px;padding-right:4px}.perm-grid .perm-dash{color:#d9d9d9}.perm-empty{padding:24px;text-align:center;color:#8c8c8c}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}*{box-sizing:border-box}
